diff options
author | greg@kroah.com <greg@kroah.com> | 2003-10-22 18:37:40 -0700 |
---|---|---|
committer | Greg KH <gregkh@suse.de> | 2005-04-26 21:05:23 -0700 |
commit | a41a0e28c2ba0abf99b5e7ea17645ae0e4f05758 (patch) | |
tree | f800d7d565c294adb15f88d4f14064f93054da70 /klibc/klibc/fork.c | |
parent | 6c0eae77a1443c51a0c089f4d4053ffff13666f5 (diff) | |
download | systemd-a41a0e28c2ba0abf99b5e7ea17645ae0e4f05758.tar.gz |
[PATCH] added klibc version 0.82 (cvs tree) to the udev tree.
Not hooked up to the build yet.
Diffstat (limited to 'klibc/klibc/fork.c')
-rw-r--r-- | klibc/klibc/fork.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/klibc/klibc/fork.c b/klibc/klibc/fork.c new file mode 100644 index 0000000000..d7e4db89a1 --- /dev/null +++ b/klibc/klibc/fork.c @@ -0,0 +1,29 @@ +/* + * fork.c + * + * This is normally just a syscall stub, but at least one system + * doesn't have sys_fork, only sys_clone... + */ + +#include <sys/syscall.h> +#include <signal.h> +#include <unistd.h> + +#ifdef __NR_fork + +#ifdef _syscall0_forkish +_syscall0_forkish(pid_t,fork); +#else +_syscall0(pid_t,fork); +#endif + +#else /* __NR_fork */ + +static inline _syscall2(pid_t,clone,unsigned long,flags,void *,newsp); + +pid_t fork(void) +{ + return clone(SIGCHLD, 0); +} + +#endif /* __NR_fork */ |