13e12c5d1SDavid du Colombier #include "lib.h" 23e12c5d1SDavid du Colombier #include <errno.h> 33e12c5d1SDavid du Colombier #include <unistd.h> 43e12c5d1SDavid du Colombier #include "sys9.h" 53e12c5d1SDavid du Colombier 63e12c5d1SDavid du Colombier pid_t fork(void)73e12c5d1SDavid du Colombierfork(void) 83e12c5d1SDavid du Colombier { 93e12c5d1SDavid du Colombier int n; 103e12c5d1SDavid du Colombier 11*219b2ee8SDavid du Colombier n = _RFORK(RFENVG|RFFDG|RFPROC); 123e12c5d1SDavid du Colombier if(n < 0) 133e12c5d1SDavid du Colombier _syserrno(); 143e12c5d1SDavid du Colombier if(n == 0) { 15*219b2ee8SDavid du Colombier _detachbuf(); 163e12c5d1SDavid du Colombier _sessleader = 0; 173e12c5d1SDavid du Colombier } 183e12c5d1SDavid du Colombier return n; 193e12c5d1SDavid du Colombier } 20