Listing 8 (observer.c) Observer Task

#include <synrtx.h>

task Observer(void) {
   task_t self = task_self();
   msg_t  msg;

   task_setHandler(0);
   loop {
      /* wait for an event ...
       *  ... I've seeing one! then, interrupt Update.Observe
       */
      msg.srcTid = self;
      msg.dstTid = task_idOf("Update");
      msg.dstHid = 0; /* Observe = 0 */
      msg.type    = msg_type_SYNC;
      task_interrupt(&msg);
   }
}