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

Reply via email to