From e5888a1ffdae813d7575f5fb02275c6bb07e5199 Mon Sep 17 00:00:00 2001 From: Taru Karttunen Date: Wed, 30 Mar 2011 15:46:40 +0300 Subject: Import sources from 2011-03-30 iso image --- sys/src/lib9p/rfork.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 sys/src/lib9p/rfork.c (limited to 'sys/src/lib9p/rfork.c') diff --git a/sys/src/lib9p/rfork.c b/sys/src/lib9p/rfork.c new file mode 100755 index 000000000..e279cc9e9 --- /dev/null +++ b/sys/src/lib9p/rfork.c @@ -0,0 +1,34 @@ +#include +#include +#include +#include +#include <9p.h> + +static void +rforker(void (*fn)(void*), void *arg, int flag) +{ + switch(rfork(RFPROC|RFMEM|RFNOWAIT|flag)){ + case -1: + sysfatal("rfork: %r"); + default: + return; + case 0: + fn(arg); + _exits(0); + } +} + +void +listensrv(Srv *s, char *addr) +{ + _forker = rforker; + _listensrv(s, addr); +} + +void +postmountsrv(Srv *s, char *name, char *mtpt, int flag) +{ + _forker = rforker; + _postmountsrv(s, name, mtpt, flag); +} + -- cgit v1.2.3