From 1544f90960275dc9211bde30329c3258e0e1bf38 Mon Sep 17 00:00:00 2001 From: rsc Date: Sat, 25 Dec 2004 21:56:33 +0000 Subject: New thread library --- src/libthread/test/pthreadloop.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 src/libthread/test/pthreadloop.c (limited to 'src/libthread/test/pthreadloop.c') diff --git a/src/libthread/test/pthreadloop.c b/src/libthread/test/pthreadloop.c new file mode 100644 index 00000000..73b600e7 --- /dev/null +++ b/src/libthread/test/pthreadloop.c @@ -0,0 +1,38 @@ +#include +#include +#include + +pthread_key_t key; + +void +pexit(void *v) +{ + int s; + + pthread_setspecific(key, (void*)1); + switch(fork()){ + case -1: + fprint(2, "fork: %r\n"); + case 0: + _exit(0); + default: + wait(&s); + } + pthread_exit(0); +} + +int +main(int argc, char *argv[]) +{ + int i; + pthread_t pid; + + pthread_key_create(&key, 0); + for(i=0;; i++){ + print("%d\n", i); + if(pthread_create(&pid, 0, pexit, 0) < 0){ + fprint(2, "pthread_create: %r\n"); + abort(); + } + } +} -- cgit v1.2.3