X-Git-Url: https://oss.titaniummirror.com/gitweb/?p=tinyos-2.x.git;a=blobdiff_plain;f=tos%2Fsystem%2FBitVectorC.nc;h=816484795b10db3f6d3875e457ca37130d1d73f4;hp=b3387934d2f64f18acd62b3f33c4b7298e560f51;hb=e9bfab607e051bae6afb47b44892ce37541d1b44;hpb=adf1de6c009d13b7b52e68535c63b28f59c97400 diff --git a/tos/system/BitVectorC.nc b/tos/system/BitVectorC.nc index b3387934..81648479 100644 --- a/tos/system/BitVectorC.nc +++ b/tos/system/BitVectorC.nc @@ -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)