tfork.c - plan9port - [fork] Plan 9 from user space
HTML git clone git://src.adamsgaard.dk/plan9port
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
tfork.c (311B)
---
1 #include <u.h>
2 #include <signal.h>
3 #include <libc.h>
4 #include "9proc.h"
5 #undef fork
6
7 int
8 p9fork(void)
9 {
10 int pid;
11 sigset_t all, old;
12
13 sigfillset(&all);
14 sigprocmask(SIG_SETMASK, &all, &old);
15 pid = fork();
16 if(pid == 0){
17 _clearuproc();
18 _p9uproc(0);
19 }
20 sigprocmask(SIG_SETMASK, &old, nil);
21 return pid;
22 }