]> oss.titaniummirror.com Git - tinyos-2.x.git/commitdiff
Signal the changed() event on local changes.
authorscipio <scipio>
Fri, 15 Feb 2008 22:51:30 +0000 (22:51 +0000)
committerscipio <scipio>
Fri, 15 Feb 2008 22:51:30 +0000 (22:51 +0000)
tos/lib/net/drip/DisseminatorP.nc

index 1a6280448d4673d3ecc46cbe1d5caaa41ea9eb76..1dff239417e53566dcbc5071658f1996d712b135 100644 (file)
@@ -59,6 +59,10 @@ implementation {
   // 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; }
@@ -89,6 +93,7 @@ implementation {
     seqno = seqno << 16;
     seqno += TOS_NODE_ID;
     signal DisseminationCache.newData();
+    post changedTask();
   }
 
   command void* DisseminationCache.requestData( uint8_t* size ) {
@@ -100,7 +105,7 @@ implementation {
                                             uint32_t newSeqno ) {
     memcpy( &valueCache, data, size < sizeof(t) ? size : sizeof(t) );
     seqno = newSeqno;
-    signal DisseminationValue.changed();
+    post changedTask();
   }
 
   command uint32_t DisseminationCache.requestSeqno() {