]> oss.titaniummirror.com Git - tinyos-2.x.git/blobdiff - tos/system/BitVectorC.nc
Merge TinyOS 2.1.1 into master.
[tinyos-2.x.git] / tos / system / BitVectorC.nc
index b3387934d2f64f18acd62b3f33c4b7298e560f51..816484795b10db3f6d3875e457ca37130d1d73f4 100644 (file)
@@ -75,22 +75,22 @@ implementation
 
   async command bool BitVector.get(uint16_t bitnum)
   {
-    return (m_bits[getIndex(bitnum)] & getMask(bitnum)) ? TRUE : FALSE;
+    atomic {return (m_bits[getIndex(bitnum)] & getMask(bitnum)) ? TRUE : FALSE;}
   }
 
   async command void BitVector.set(uint16_t bitnum)
   {
-    m_bits[getIndex(bitnum)] |= getMask(bitnum);
+    atomic {m_bits[getIndex(bitnum)] |= getMask(bitnum);}
   }
 
   async command void BitVector.clear(uint16_t bitnum)
   {
-    m_bits[getIndex(bitnum)] &= ~getMask(bitnum);
+    atomic {m_bits[getIndex(bitnum)] &= ~getMask(bitnum);}
   }
 
   async command void BitVector.toggle(uint16_t bitnum)
   {
-    m_bits[getIndex(bitnum)] ^= getMask(bitnum);
+    atomic {m_bits[getIndex(bitnum)] ^= getMask(bitnum);}
   }
 
   async command void BitVector.assign(uint16_t bitnum, bool value)