home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The C Users' Group Library 1994 August
/
wc-cdrom-cusersgrouplibrary-1994-08.iso
/
listings
/
v_08_12
/
8n12077b
< prev
next >
Wrap
Text File
|
1990-08-29
|
630b
|
25 lines
/* receiver.c - Receiver task for synchronous communication */
#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);
}
}