From 5a0e28438fe4c0f8cc55430c388c2016cc185cbf Mon Sep 17 00:00:00 2001 From: rodri Date: Tue, 8 Aug 2023 23:56:57 +0000 Subject: alt channel send test. --- chansend.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 chansend.c diff --git a/chansend.c b/chansend.c new file mode 100644 index 0000000..445db42 --- /dev/null +++ b/chansend.c @@ -0,0 +1,40 @@ +#include +#include +#include + +void +recvthread(void *arg) +{ + Channel *c = arg; + int n; + + while(recv(c, &n) > 0) + fprint(2, "got %x\n", n); +} + +void +threadmain() +{ + Channel *c; + Alt a[2]; + int n; + + c = chancreate(sizeof(int), 1); + n = 0xB00B5; + + a[0].op = CHANSND; + a[0].c = c; + a[0].v = &n; + a[1].op = CHANEND; + + threadcreate(recvthread, c, mainstacksize); + + for(;;) + switch(alt(a)){ + case -1: + return; + case 0: + fprint(2, "sent %x\n", n); + break; + } +} -- cgit v1.2.3