be like plan 9 plumber

This commit is contained in:
rsc 2004-12-28 23:20:54 +00:00
parent ddd8916a0e
commit df49b30343

View file

@ -25,12 +25,25 @@ makeports(Ruleset *rules[])
addport(rules[i]->port);
}
void
mainproc(void *v)
{
Channel *c;
c = v;
printerrors = 0;
makeports(rules);
startfsys();
sendp(c, nil);
}
void
threadmain(int argc, char *argv[])
{
char buf[512];
int fd;
int volatile dofork;
Channel *c;
progname = "plumber";
dofork = 1;
@ -73,9 +86,15 @@ threadmain(int argc, char *argv[])
if(dofork)
threaddaemonize();
printerrors = 0;
makeports(rules);
startfsys();
/*
* Start all processes and threads from other proc
* so we (main pid) can return to user.
*/
c = chancreate(sizeof(void*), 0);
proccreate(mainproc, c, 8192);
recvp(c);
chanfree(c);
threadexits(nil);
}
void