On Sep 6, 2006, at 10:14 PM, Conor Todd wrote:

Interrupts are disabled within async{} blocks. Therefore, no events can be fired, and nothing will happen except for what's in your async code (unless the batteries die or your mote falls into a pool of molten lava).

      - Conor


You mean atomic{} blocks, right?

In terms of language semantics, the promise is that code within an atomic block will run atomically. In terms of implementations on simple microcontrollers, this often means disabling all interrupts.

With interrupt priority levels one could, however, use some intelligent compiler tricks to determine what IPL to disable. E.g., if the variables in the atomic section are only accessed by interrupt priorities 1 and 3, you could set the IPL at 3.

Phil

_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to