]> oss.titaniummirror.com Git - tinyos-2.x.git/commitdiff
fix resource sharing - use isOwner
authoridgay <idgay>
Tue, 22 May 2007 18:49:53 +0000 (18:49 +0000)
committeridgay <idgay>
Tue, 22 May 2007 18:49:53 +0000 (18:49 +0000)
tos/sensorboards/mts300/PhotoTempControlP.nc

index b21fbbd6a546d9a4af5ba242334faa296e520792..779ab45bc011122b9863c4efa1813bf20e2afb90 100644 (file)
@@ -13,9 +13,7 @@ generic module PhotoTempControlP()
 }
 implementation
 {
-       uint8_t rflag=0;
-
-       command error_t SplitControl.start() {
+  command error_t SplitControl.start() {
     call PhotoTempResource.request();
     return SUCCESS;
   }
@@ -27,7 +25,8 @@ implementation
   }
 
   event void Timer.fired() {
-    signal SplitControl.startDone(SUCCESS);
+    if (call PhotoTempResource.isOwner())
+      signal SplitControl.startDone(SUCCESS);
   }
 
   task void stopDone() {
@@ -46,15 +45,12 @@ implementation
 
   command error_t Read.read[uint8_t client]() {
     id = client;
-    atomic rflag=1;
     return call ActualRead.read();
   }
 
   event void ActualRead.readDone(error_t result, uint16_t val) {
-    if(rflag != 1) return;
-       atomic rflag=0;
-    call SplitControl.stop();
-    signal Read.readDone[id](result, val);
+    if (call PhotoTempResource.isOwner())
+      signal Read.readDone[id](result, val);
   }
 
   default event void Read.readDone[uint8_t x](error_t result, uint16_t val) { }