#define SYNC 0
static handler Sync(msg_t *msg_ptr) {
register task_t caller = msg_ptr->srcTid;
register task_t self = msg_ptr->dstTid;
/* interrupt caller.Reply */
msg_ptr->srcTid = self;
msg_ptr->dstTid = caller;
msg_ptr->dstHid = 0; /* caller's REPLY handler id = 0 */
msg_ptr->type = msg_type_SYNC;
task_interrupt(&msg);
}
task Receiver(void) {
task_setHandler(1, Sync); /* this task has one handler called Sync */
loop {
/* wait on Sync */
task_enableWait(1, SYNC);
}
}