diff PrivateQueue.c @ 6:174a7c2ca340

Works with sequential version -- not sure changes, but works
author Me
date Wed, 28 Jul 2010 13:13:01 -0700
parents f4d50d8a1a38
children 93bf3ffcc1fb
line diff
     1.1 --- a/PrivateQueue.c	Wed Jun 30 14:35:04 2010 -0700
     1.2 +++ b/PrivateQueue.c	Wed Jul 28 13:13:01 2010 -0700
     1.3 @@ -45,6 +45,7 @@
     1.4  
     1.5     oldSize           = Q->endOfData - Q->startOfData;
     1.6     newSize           = 2 * oldSize;
     1.7 +   oldStartOfData = Q->startOfData;
     1.8     Q->startOfData = malloc( newSize * sizeof(void *) );
     1.9     memcpy(Q->startOfData, oldStartOfData, oldSize * sizeof(void *));
    1.10     free(oldStartOfData);
    1.11 @@ -65,7 +66,7 @@
    1.12     void **insertPos  = Q->insertPos;
    1.13     void **extractPos = Q->extractPos;
    1.14  
    1.15 -      //if not empty -- extract just below insert when empty
    1.16 +      //if not empty -- (extract is just below insert when empty)
    1.17     if( insertPos - extractPos != 1 &&
    1.18         !(extractPos == endOfData && insertPos == startOfData))
    1.19      {    //move before read
    1.20 @@ -86,7 +87,7 @@
    1.21  /*Expands the queue size automatically when it's full
    1.22   */
    1.23  void
    1.24 -writeAndEnlargePrivQ( void * in, PrivQueueStruc* Q )
    1.25 +writePrivQ( void * in, PrivQueueStruc* Q )
    1.26   {
    1.27     void **startOfData = Q->startOfData;
    1.28     void **endOfData   = Q->endOfData;
    1.29 @@ -95,6 +96,7 @@
    1.30     void **extractPos = Q->extractPos;
    1.31  
    1.32  tryAgain:
    1.33 +      //Full? (insert is just below extract when full)
    1.34     if( extractPos - insertPos != 1 &&
    1.35         !(insertPos == endOfData && extractPos == startOfData))
    1.36      { *(Q->insertPos) = in;   //insert before move
    1.37 @@ -115,7 +117,7 @@
    1.38  /*Returns false when the queue was full.
    1.39   * have option of calling make_larger_PrivQ to make more room, then try again
    1.40   */
    1.41 -int writeAndFailPrivQ( void * in, PrivQueueStruc* Q )
    1.42 +int writeIfSpacePrivQ( void * in, PrivQueueStruc* Q )
    1.43   {
    1.44     void **startOfData = Q->startOfData;
    1.45     void **endOfData   = Q->endOfData;