Original author: cire...@gmail.com (April 06, 2012 06:14:36)
The following files call Resource.requested from SoftwareInit which is broken.
The Arbiter being used is Fcfs and requires the queue to be initialized. This occurs via a wiring in SoftwareInit. These wirings are unordered and thus the queue may or may not be initialized when Resource.requested is called from SoftwareInit.
These should probably be replaced by calls to Resource.immediateRequest. This will change the execution path (previous event driven, changed to non-event). So careful evaluation should be done.
However, the current implementation is incorrect and an error waiting to happen.
tos/chips/rf230/RF230DriverHwAckP.nc
tos/chips/rf230/RF230DriverLayerP.nc
tos/chips/rf212/RF212DriverLayerP.nc
Original issue: http://code.google.com/p/tinyos-main/issues/detail?id=131