Removed atomic statements from CtpRoutingEngineP.nc. Thanks for the bug report.
- om_p On Mon, Jun 7, 2010 at 3:50 PM, Miklos Maroti <[email protected]> wrote: > Hi! > > That is certainly the case in CtpRoutingEngineP.nc. I have not checked > other files. > > Miklos > > On Tue, Jun 8, 2010 at 12:44 AM, Xiaohui Liu <[email protected]> wrote: >> Can we reach the conclusion that all the atomic statements in CTP may not be >> necessary since all global variables are accessed in sync context? >> >> On Sat, Jun 5, 2010 at 6:20 PM, Philip Levis <[email protected]> wrote: >>> >>> On Jun 5, 2010, at 2:24 PM, Miklos Maroti wrote: >>> >>> > Hi Xiaohui, >>> > >>> > The tinyos programming book is right. I have checked that >>> > CtpRoutingEngineP and it has no async command or event, so everything >>> > is updated in synchronous context. I also do not see that a pointer >>> > would be passed out of this module to these variables, so really all >>> > updates are synchronous and the atomic statements should be removed. >>> > >>> > The ncc compiler is doing an excellent job: if you remove the atomic >>> > statements and it does not complain, then you do not need the atomic >>> > statements. There are only two cases where you need atomic even in >>> > sync context: 1) if your variable is updated through a pointer in an >>> > atomic context (which is rare, but can happen), 2) you are writing a >>> > hardware driver doing some time sensitive stuff and you do not want >>> > your code to be interrupted in the middle. >>> >>> My only thought is that the atomic statement might have been needed for >>> Neutron (for safe reboots), and somehow the annotation made its way into the >>> main branch? Om? >>> >>> Phil >>> _______________________________________________ >>> Tinyos-help mailing list >>> [email protected] >>> https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help >> >> >> >> -- >> -Xiaohui Liu >> > _______________________________________________ Tinyos-help mailing list [email protected] https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
