# HG changeset patch # User Me # Date 1288581840 25200 # Node ID 62326cc8e6f4353e48990cc0f8075d9d41ea604e # Parent 93bf3ffcc1fb7bb7895efe1216a321e8b7f12c02 This branch has replace malloc and free with VMS__malloc and VMS__free diff -r 93bf3ffcc1fb -r 62326cc8e6f4 BlockingQueue.c --- a/BlockingQueue.c Tue Sep 07 18:57:51 2010 -0700 +++ b/BlockingQueue.c Sun Oct 31 20:24:00 2010 -0700 @@ -25,7 +25,7 @@ { PThdQueueStruc* retQ; int retCode; - retQ = (PThdQueueStruc *) malloc( sizeof( PThdQueueStruc ) ); + retQ = (PThdQueueStruc *) VMS__malloc( sizeof( PThdQueueStruc ) ); retCode = @@ -117,7 +117,7 @@ CASQueueStruc* makeCASQ() { CASQueueStruc* retQ; - retQ = (CASQueueStruc *) malloc( sizeof( CASQueueStruc ) ); + retQ = (CASQueueStruc *) VMS__malloc( sizeof( CASQueueStruc ) ); retQ->insertLock = UNLOCKED; retQ->extractLock= UNLOCKED; @@ -242,7 +242,7 @@ SRSWQueueStruc* makeSRSWQ() { SRSWQueueStruc* retQ; - retQ = (SRSWQueueStruc *) malloc( sizeof( SRSWQueueStruc ) ); + retQ = (SRSWQueueStruc *) VMS__malloc( sizeof( SRSWQueueStruc ) ); retQ->extractPos = &(retQ->startOfData[0]); //side by side == empty retQ->insertPos = &(retQ->startOfData[1]); // so start pos's have to be @@ -380,11 +380,11 @@ SRMWQueueStruc* makeSRMWQ() { SRMWQueueStruc* retQ; - retQ = (SRMWQueueStruc *) malloc( sizeof( SRMWQueueStruc ) ); + retQ = (SRMWQueueStruc *) VMS__malloc( sizeof( SRMWQueueStruc ) ); retQ->numInternalQs = 0; retQ->internalQsSz = 10; - retQ->internalQs = malloc( retQ->internalQsSz * sizeof(SRSWQueueStruc *)); + retQ->internalQs = VMS__malloc( retQ->internalQsSz * sizeof(SRSWQueueStruc *)); retQ->lastQReadFrom = 0; @@ -410,7 +410,7 @@ oldSz = Q->internalQsSz; oldArray = Q->internalQs; Q->internalQsSz *= 2; - Q->internalQs = malloc( Q->internalQsSz * sizeof(SRSWQueueStruc *)); + Q->internalQs = VMS__malloc( Q->internalQsSz * sizeof(SRSWQueueStruc *)); for( i = 0; i < oldSz; i++ ) { Q->internalQs[i] = oldArray[i]; } diff -r 93bf3ffcc1fb -r 62326cc8e6f4 BlockingQueue.h --- a/BlockingQueue.h Tue Sep 07 18:57:51 2010 -0700 +++ b/BlockingQueue.h Sun Oct 31 20:24:00 2010 -0700 @@ -42,10 +42,10 @@ //========== CAS based queue ========== typedef struct - { volatile int insertLock; - volatile int extractLock; - volatile void* *insertPos; - volatile void* *extractPos; + { int insertLock; + int extractLock; + void* *insertPos; + void* *extractPos; void* startOfData[1024]; //data is pointers void* *endOfData; //set when make queue } diff -r 93bf3ffcc1fb -r 62326cc8e6f4 PrivateQueue.c --- a/PrivateQueue.c Tue Sep 07 18:57:51 2010 -0700 +++ b/PrivateQueue.c Sun Oct 31 20:24:00 2010 -0700 @@ -26,9 +26,9 @@ PrivQueueStruc* makePrivQ() { PrivQueueStruc* retQ; - retQ = (PrivQueueStruc *) malloc( sizeof( PrivQueueStruc ) ); + retQ = (PrivQueueStruc *) VMS__malloc( sizeof( PrivQueueStruc ) ); - retQ->startOfData = malloc( 1024 * sizeof(void *) ); + retQ->startOfData = VMS__malloc( 1024 * sizeof(void *) ); retQ->extractPos = &(retQ->startOfData[0]); //side by side == empty retQ->insertPos = &(retQ->startOfData[1]); // so start pos's have to be @@ -46,9 +46,9 @@ oldSize = Q->endOfData - Q->startOfData; newSize = 2 * oldSize; oldStartOfData = Q->startOfData; - Q->startOfData = malloc( newSize * sizeof(void *) ); + Q->startOfData = VMS__malloc( newSize * sizeof(void *) ); memcpy(Q->startOfData, oldStartOfData, oldSize * sizeof(void *)); - free(oldStartOfData); + VMS__free(oldStartOfData); Q->extractPos = &(Q->startOfData[0]); //side by side == empty Q->insertPos = &(Q->startOfData[1]); // so start pos's have to be @@ -139,3 +139,10 @@ //Q is full return FALSE; } + +void +freePrivQ( PrivQueueStruc *Q ) + { + VMS__free( Q->startOfData ); + VMS__free( Q ); + } \ No newline at end of file