changeset 29:7d35d7f42cd5 MC_shared

added casts to fix warnings
author Some Random Person <seanhalle@yahoo.com>
date Mon, 12 Mar 2012 05:39:45 -0700
parents dabefab7d264
children e59d39874274
files BlockingQueue.c
diffstat 1 files changed, 9 insertions(+), 8 deletions(-) [+]
line diff
     1.1 --- a/BlockingQueue.c	Fri Mar 09 22:12:01 2012 -0800
     1.2 +++ b/BlockingQueue.c	Mon Mar 12 05:39:45 2012 -0700
     1.3 @@ -11,6 +11,7 @@
     1.4  #include <pthread.h>
     1.5  #include <stdlib.h>
     1.6  #include <sched.h>
     1.7 +#include <string.h>
     1.8  
     1.9  #include "BlockingQueue.h"
    1.10  
    1.11 @@ -38,9 +39,9 @@
    1.12  
    1.13     retQ->insertLock = UNLOCKED;
    1.14     retQ->extractLock= UNLOCKED;
    1.15 -   //TODO: check got pointer syntax right
    1.16 -   retQ->extractPos = &(retQ->startOfData[0]); //side by side == empty
    1.17 -   retQ->insertPos  = &(retQ->startOfData[1]); // so start pos's have to be
    1.18 +   
    1.19 +   retQ->extractPos = (volatile void**)&(retQ->startOfData[0]); //side by side == empty
    1.20 +   retQ->insertPos  = (volatile void**)&(retQ->startOfData[1]); // so start pos's have to be
    1.21     retQ->endOfData  = &(retQ->startOfData[1023]);
    1.22  
    1.23     return retQ;
    1.24 @@ -64,8 +65,8 @@
    1.25              //NOTE: checked assy, and it does lock correctly..
    1.26        if( gotLock )
    1.27         {
    1.28 -         void **insertPos  = Q->insertPos;
    1.29 -         void **extractPos = Q->extractPos;
    1.30 +         void **insertPos  = (void **)Q->insertPos;
    1.31 +         void **extractPos = (void **)Q->extractPos;
    1.32  
    1.33              //if not empty -- extract just below insert when empty
    1.34           if( insertPos - extractPos != 1 &&
    1.35 @@ -77,7 +78,7 @@
    1.36              else
    1.37               { Q->extractPos++;
    1.38               }
    1.39 -            out = *(Q->extractPos);
    1.40 +            out = (void *) *(Q->extractPos);
    1.41              Q->extractLock = UNLOCKED;
    1.42              return out;
    1.43            }
    1.44 @@ -109,8 +110,8 @@
    1.45           __sync_bool_compare_and_swap( &(Q->insertLock), UNLOCKED, LOCKED );
    1.46        if( gotLock )
    1.47         {
    1.48 -         void **insertPos  = Q->insertPos;
    1.49 -         void **extractPos = Q->extractPos;
    1.50 +         void **insertPos  = (void **)Q->insertPos;
    1.51 +         void **extractPos = (void **)Q->extractPos;
    1.52  
    1.53              //check if room to insert.. can't use a count variable
    1.54              // 'cause both insertor Thd and extractor Thd would write it