]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tos/system/PoolP.nc
Remove rounding error in PoolP.nc, fix async warnings in BitVectorC.
[tinyos-2.x.git] / tos / system / PoolP.nc
index c7198505a2480875ae58d24df573ccd187671561..9011d6cfd273898c93c904d0fde6c6a4e3fffd1f 100644 (file)
@@ -73,9 +73,11 @@ implementation {
   }
   
   command bool Pool.empty() {
+    dbg("PoolP", "%s size is %i\n", __FUNCTION__, (int)free);
     return free == 0;
   }
   command uint8_t Pool.size() {
+    dbg("PoolP", "%s size is %i\n", __FUNCTION__, (int)free);
     return free;
   }
     
@@ -92,6 +94,7 @@ implementation {
       if (index == size) {
         index = 0;
       }
+      dbg("PoolP", "%s size is %i\n", __FUNCTION__, (int)free);
       return rval;
     }
     return NULL;
@@ -102,12 +105,13 @@ implementation {
       return FAIL;
     }
     else {
-      uint8_t emptyIndex = (index + free);
+      uint16_t emptyIndex = (index + free);
       if (emptyIndex >= size) {
         emptyIndex -= size;
       }
       queue[emptyIndex] = newVal;
       free++;
+      dbg("PoolP", "%s size is %i\n", __FUNCTION__, (int)free);
       return SUCCESS;
     }
   }