Tasks execute first-come first-serve, and each task executes to completion before the next task can begin. "Execute to completion" means that your task routine must return / exit. Long running and non-terminating tasks block all other tasks from executing.
Receive.receive is signaled from within task context -- which you can note from the absence of an async keyword for that event. That means that a task is posted within the radio stack that eventually signals receive. If you have a long running task in your application, it is blocking the receive task from executing. Hope that helps, Cory Sharp <[EMAIL PROTECTED]> On 1/18/06, Andrea Pacini <[EMAIL PROTECTED]> wrote: > I am using Tmote Sky motes and I noticed that , when a node is doing > something (e.g. when it is doing a for cycle) it can't receive message, > that is Receive.receive() event is not triggered. > Instead , if the node is doing nothing , the receive event is fired and > all woks. > Note that the sender sends only one message . How is possible ? Doesn't > exist a queue of WAITING EVENTS ? > > Thanks > Andrea > > _______________________________________________ > Tinyos-help mailing list > Tinyos-help@Millennium.Berkeley.EDU > https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help > _______________________________________________ Tinyos-help mailing list Tinyos-help@Millennium.Berkeley.EDU https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help