Commit 436d124b7d538b1fd9cf72edf17770664c309856
1 parent
7058bfa6
Band-aid vfork() emulation (Kirill Shutemov).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5279 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
4 additions
and
0 deletions
linux-user/syscall.c
@@ -2800,6 +2800,10 @@ static int do_fork(CPUState *env, unsigned int flags, abi_ulong newsp, | @@ -2800,6 +2800,10 @@ static int do_fork(CPUState *env, unsigned int flags, abi_ulong newsp, | ||
2800 | sigset_t sigmask; | 2800 | sigset_t sigmask; |
2801 | #endif | 2801 | #endif |
2802 | 2802 | ||
2803 | + /* Emulate vfork() with fork() */ | ||
2804 | + if (flags & CLONE_VFORK) | ||
2805 | + flags &= ~(CLONE_VFORK | CLONE_VM); | ||
2806 | + | ||
2803 | if (flags & CLONE_VM) { | 2807 | if (flags & CLONE_VM) { |
2804 | #if defined(USE_NPTL) | 2808 | #if defined(USE_NPTL) |
2805 | new_thread_info info; | 2809 | new_thread_info info; |