From 4054a135fc0e6c1b7c33f688dcddecee0b2b22d2 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Fri, 12 Aug 2011 10:37:12 -0400 Subject: implement forkall this is a "nonstandard" function that was "rejected" by POSIX, but nonetheless had its behavior documented in the POSIX rationale for fork. it's present on solaris and possibly some other systems, and duplicates the whole calling process, not just a single thread. glibc does not have this function. it should not be used in programs intending to be portable, but may be useful for testing, checkpointing, etc. and it's an interesting (and quite small) example of the usefulness of the __synccall framework originally written to work around deficiencies in linux's setuid syscall. --- include/unistd.h | 1 + 1 file changed, 1 insertion(+) (limited to 'include') diff --git a/include/unistd.h b/include/unistd.h index a64d99b7..35cfda8c 100644 --- a/include/unistd.h +++ b/include/unistd.h @@ -147,6 +147,7 @@ int getdtablesize(void); #ifdef _GNU_SOURCE int brk(void *); void *sbrk(intptr_t); +pid_t forkall(void); pid_t vfork(void); int vhangup(void); int chroot(const char *); -- cgit v1.2.1