Index: trunk/psLib/src/sys/psMemory.c
===================================================================
--- trunk/psLib/src/sys/psMemory.c	(revision 4971)
+++ trunk/psLib/src/sys/psMemory.c	(revision 5216)
@@ -8,6 +8,6 @@
 *  @author Robert Lupton, Princeton University
 *
-*  @version $Revision: 1.64 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2005-09-08 00:17:26 $
+*  @version $Revision: 1.65 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2005-10-01 02:22:13 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -583,4 +583,37 @@
 }
 
+psPtr p_psMemSetRefCounter(
+    psPtr vptr,
+    psReferenceCount count,
+    const char *file,
+    psS32 lineno)
+{
+    psMemBlock* ptr;
+
+    if (vptr == NULL) {
+        return vptr;
+    }
+
+    if (count < 0) {
+        count = 0;
+    }
+
+    ptr = ((psMemBlock* ) vptr) - 1;
+
+    if (checkMemBlock(ptr, __func__)) {
+        memProblemCallback(ptr, file, lineno);
+    }
+
+    pthread_mutex_lock(&ptr->refCounterMutex);
+    ptr->refCounter = count;
+    pthread_mutex_unlock(&ptr->refCounterMutex);
+
+    if (count < 1) {
+        vptr = p_psMemDecrRefCounter(vptr,file,lineno);
+    }
+
+    return vptr;
+}
+
 // decrement and return refCounter
 psPtr p_psMemDecrRefCounter(psPtr vptr,
@@ -707,5 +740,4 @@
     return PTR->freeFunc;
 }
-
 
 bool psMemCheckType(psDataType type,
