blob: 1ccf1a7968f29bc5c94e3923546c9b30036d7767 [file] [log] [blame]
#include <lib9.h>
#include <thread.h>
Channel *c[3];
void
pingpong(void *v)
{
int n;
Channel **c;
c = v;
do{
n = recvul(c[0]);
sendul(c[1], n-1);
}while(n > 0);
exit(0);
}
void
threadmain(int argc, char **argv)
{
c[0] = chancreate(sizeof(ulong), 1);
c[1] = chancreate(sizeof(ulong), 1);
c[2] = c[0];
proccreate(pingpong, c, 16384);
threadcreate(pingpong, c+1, 16384);
sendul(c[0], atoi(argv[1]));
}