1 941e1713 2006-02-15 devnull #include "a.h"
3 941e1713 2006-02-15 devnull typedef struct New New;
4 941e1713 2006-02-15 devnull struct New
6 941e1713 2006-02-15 devnull void (*fn)(void*);
7 941e1713 2006-02-15 devnull void *arg;
10 941e1713 2006-02-15 devnull Channel *mailthreadchan;
13 941e1713 2006-02-15 devnull mailthread(void (*fn)(void*), void *arg)
17 941e1713 2006-02-15 devnull n.fn = fn;
18 941e1713 2006-02-15 devnull n.arg = arg;
19 941e1713 2006-02-15 devnull send(mailthreadchan, &n);
23 941e1713 2006-02-15 devnull mailproc(void *v)
27 941e1713 2006-02-15 devnull while(recv(mailthreadchan, &n) == 1)
28 941e1713 2006-02-15 devnull threadcreate(n.fn, n.arg, STACK);
32 941e1713 2006-02-15 devnull mailthreadinit(void)
34 941e1713 2006-02-15 devnull mailthreadchan = chancreate(sizeof(New), 0);
35 941e1713 2006-02-15 devnull proccreate(mailproc, nil, STACK);