// counter, while the bottom 16 bits are a unique node identifier.
uint32_t seqno = DISSEMINATION_SEQNO_UNKNOWN;
+ task void changedTask() {
+ signal DisseminationValue.changed();
+ }
+
command error_t StdControl.start() {
error_t result = signal DisseminationCache.start();
if ( result == SUCCESS ) { m_running = TRUE; }
seqno = seqno << 16;
seqno += TOS_NODE_ID;
signal DisseminationCache.newData();
+ post changedTask();
}
command void* DisseminationCache.requestData( uint8_t* size ) {
uint32_t newSeqno ) {
memcpy( &valueCache, data, size < sizeof(t) ? size : sizeof(t) );
seqno = newSeqno;
- signal DisseminationValue.changed();
+ post changedTask();
}
command uint32_t DisseminationCache.requestSeqno() {