diff options
Diffstat (limited to 'libc/sysdeps/linux/m68k/bits/vfork.h')
-rw-r--r-- | libc/sysdeps/linux/m68k/bits/vfork.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/libc/sysdeps/linux/m68k/bits/vfork.h b/libc/sysdeps/linux/m68k/bits/vfork.h new file mode 100644 index 000000000..0b6ffa2c0 --- /dev/null +++ b/libc/sysdeps/linux/m68k/bits/vfork.h @@ -0,0 +1,25 @@ +/* orginally from include/unistd.h, written by ndf@linux.mit.edu> */ + +#ifndef _M68K_VFORK_H +#define _M68K_VFORK_H 1 + +extern int _clone __P ((int (*fn)(void *arg), void *child_stack, int flags, void *arg)); + +#define vfork() ({ \ +register unsigned long __res __asm__ ("%d0") = __NR_fork; \ +__asm__ __volatile__ ("trap #0" \ + : "=g" (__res) \ + : "0" (__res) \ + : "%d0"); \ +if (__res >= (unsigned long)-4096) { \ + errno = -__res; \ + __res = (pid_t)-1; \ +} \ +(pid_t)__res; \ +}) + + +#define clone clone_not_available_use__clone + +#endif /* _M68K_VFORK_H */ + |