C library for structured concurrency and lightweight coroutines
Structured concurrency in C
libdill$ gcc -o program program.c -ldill$ cat > coro.c << 'EOF'
#include <libdill.h>
#include <stdio.h>
int main() {
int ch = chmake(int);
go({
chsend(ch, 42);
});
int val;
chrecv(ch, &val);
printf("%d\n", val);
return 0;
}
EOF
gcc -o coro coro.c -ldill && ./coro$ gcc -Wall -o concurrent program.c -ldill && ./concurrent