comparison BlockingQueue.c @ 28:dabefab7d264

fixed include paths -- paths should be set in Netbeans as project settings
author Some Random Person <seanhalle@yahoo.com>
date Fri, 09 Mar 2012 22:12:01 -0800
parents 59781a4c9cf1
children 7d35d7f42cd5
comparison
equal deleted inserted replaced
12:ce567859f0ab 14:2a0e716cb48e
32 */ 32 */
33 33
34 CASQueueStruc* makeCASQ() 34 CASQueueStruc* makeCASQ()
35 { 35 {
36 CASQueueStruc* retQ; 36 CASQueueStruc* retQ;
37 retQ = (CASQueueStruc *) VMS_int__malloc( sizeof( CASQueueStruc ) ); 37 retQ = (CASQueueStruc *) VMS_WL__malloc( sizeof( CASQueueStruc ) );
38 38
39 retQ->insertLock = UNLOCKED; 39 retQ->insertLock = UNLOCKED;
40 retQ->extractLock= UNLOCKED; 40 retQ->extractLock= UNLOCKED;
41 //TODO: check got pointer syntax right 41 //TODO: check got pointer syntax right
42 retQ->extractPos = &(retQ->startOfData[0]); //side by side == empty 42 retQ->extractPos = &(retQ->startOfData[0]); //side by side == empty
157 */ 157 */
158 158
159 SRSWQueueStruc* makeSRSWQ() 159 SRSWQueueStruc* makeSRSWQ()
160 { 160 {
161 SRSWQueueStruc* retQ; 161 SRSWQueueStruc* retQ;
162 retQ = (SRSWQueueStruc *) VMS_int__malloc( sizeof( SRSWQueueStruc ) ); 162 retQ = (SRSWQueueStruc *) VMS_WL__malloc( sizeof( SRSWQueueStruc ) );
163 memset( retQ->startOfData, 0, 1024 * sizeof(void *) ); 163 memset( retQ->startOfData, 0, 1024 * sizeof(void *) );
164 164
165 retQ->extractPos = &(retQ->startOfData[0]); //side by side == empty 165 retQ->extractPos = &(retQ->startOfData[0]); //side by side == empty
166 retQ->insertPos = &(retQ->startOfData[1]); // so start pos's have to be 166 retQ->insertPos = &(retQ->startOfData[1]); // so start pos's have to be
167 retQ->endOfData = &(retQ->startOfData[1023]); 167 retQ->endOfData = &(retQ->startOfData[1023]);
296 */ 296 */
297 297
298 SRMWQueueStruc* makeSRMWQ() 298 SRMWQueueStruc* makeSRMWQ()
299 { SRMWQueueStruc* retQ; 299 { SRMWQueueStruc* retQ;
300 300
301 retQ = (SRMWQueueStruc *) VMS_int__malloc( sizeof( SRMWQueueStruc ) ); 301 retQ = (SRMWQueueStruc *) VMS_WL__malloc( sizeof( SRMWQueueStruc ) );
302 302
303 retQ->numInternalQs = 0; 303 retQ->numInternalQs = 0;
304 retQ->internalQsSz = 10; 304 retQ->internalQsSz = 10;
305 retQ->internalQs = VMS_int__malloc( retQ->internalQsSz * sizeof(SRSWQueueStruc *)); 305 retQ->internalQs = VMS_WL__malloc( retQ->internalQsSz * sizeof(SRSWQueueStruc *));
306 306
307 retQ->lastQReadFrom = 0; 307 retQ->lastQReadFrom = 0;
308 308
309 return retQ; 309 return retQ;
310 } 310 }
326 if( Q->numInternalQs >= Q->internalQsSz ) 326 if( Q->numInternalQs >= Q->internalQsSz )
327 { //full, so make bigger 327 { //full, so make bigger
328 oldSz = Q->internalQsSz; 328 oldSz = Q->internalQsSz;
329 oldArray = Q->internalQs; 329 oldArray = Q->internalQs;
330 Q->internalQsSz *= 2; 330 Q->internalQsSz *= 2;
331 Q->internalQs = VMS_int__malloc( Q->internalQsSz * sizeof(SRSWQueueStruc *)); 331 Q->internalQs = VMS_WL__malloc( Q->internalQsSz * sizeof(SRSWQueueStruc *));
332 for( i = 0; i < oldSz; i++ ) 332 for( i = 0; i < oldSz; i++ )
333 { Q->internalQs[i] = oldArray[i]; 333 { Q->internalQs[i] = oldArray[i];
334 } 334 }
335 VMS_int__free( oldArray ); 335 VMS_int__free( oldArray );
336 } 336 }