]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tos/system/ArbiterP.nc
Merge TinyOS 2.1.1 into master.
[tinyos-2.x.git] / tos / system / ArbiterP.nc
index bffe84c05e6a024cb77dea6d1e3e578760f893a1..b07f975dc4e5b2b2e762a90c020aff7772ec43cf 100644 (file)
@@ -49,7 +49,7 @@
  * @author Philip Levis
  */
  
-generic module ArbiterP(uint8_t default_owner_id) {
+generic module ArbiterP(uint8_t default_owner_id) @safe() {
   provides {
     interface Resource[uint8_t id];
     interface ResourceRequested[uint8_t id];
@@ -110,6 +110,7 @@ implementation {
       if(state == RES_BUSY && resId == id) {
         if(call Queue.isEmpty() == FALSE) {
           reqResId = call Queue.dequeue();
+          resId = NO_RES;
           state = RES_GRANTING;
           post grantedTask();
           call ResourceConfigure.unconfigure[id]();