diff options
| author | rsc <devnull@localhost> | 2004-12-25 21:56:33 +0000 |
|---|---|---|
| committer | rsc <devnull@localhost> | 2004-12-25 21:56:33 +0000 |
| commit | 1544f90960275dc9211bde30329c3258e0e1bf38 (patch) | |
| tree | f55e7a73c03aaa24daa7cc2ad02822b921c477f9 /src/libthread/tprimes.c | |
| parent | 7788fd54094693384ef5c92c475656dba8819feb (diff) | |
| download | plan9port-1544f90960275dc9211bde30329c3258e0e1bf38.tar.gz plan9port-1544f90960275dc9211bde30329c3258e0e1bf38.zip | |
New thread library
Diffstat (limited to 'src/libthread/tprimes.c')
| -rw-r--r-- | src/libthread/tprimes.c | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/src/libthread/tprimes.c b/src/libthread/tprimes.c deleted file mode 100644 index 89d30c03..00000000 --- a/src/libthread/tprimes.c +++ /dev/null @@ -1,68 +0,0 @@ -#include <u.h> -#include <libc.h> -#include <thread.h> - -enum -{ - STACK = 8192 -}; - -int quiet; -int goal; -int buffer; -int (*fn)(void(*)(void*), void*, uint) = threadcreate; - -void -primethread(void *arg) -{ - Channel *c, *nc; - int p, i; - - c = arg; - p = recvul(c); - if(p > goal) - threadexitsall(nil); - if(!quiet) - print("%d\n", p); - nc = chancreate(sizeof(ulong), buffer); - (*fn)(primethread, nc, STACK); - for(;;){ - i = recvul(c); - if(i%p) - sendul(nc, i); - } -} - -extern int _threaddebuglevel; - -void -threadmain(int argc, char **argv) -{ - int i; - Channel *c; - - ARGBEGIN{ - case 'D': - _threaddebuglevel = atoi(ARGF()); - break; - case 'q': - quiet = 1; - break; - case 'b': - buffer = atoi(ARGF()); - break; - case 'p': - fn = proccreate; - break; - }ARGEND - - if(argc>0) - goal = atoi(argv[0]); - else - goal = 100; - - c = chancreate(sizeof(ulong), buffer); - (*fn)(primethread, c, STACK); - for(i=2;; i++) - sendul(c, i); -} |
