Messages in this thread | | | Date | Sat, 16 Jan 1999 03:44:22 -0500 | From | Roland McGrath <> | Subject | Re: vfork specs |
| |
> The Solaris vfork() does not permit the child's computation to be > interleaved with the parent's; after vfork(), the parent cannot run > until the child exits or calls exec. Except in multi-threaded > applications, when only the calling thread of control is suspended, > see the second paragraph from the manual page.
Well, exactly. It would be incomprehensibly inane to attempt to have a vfork that did not behave that way, because of exactly this problem. It had not before now entered my mind that Linux might have such a thing as a vfork where both processes ran simultaneously in the same address space.
The restrictions I referred to are those on the child process not to unwind stack frames because when the parent resumes later (after the child has exec'd or exited), its stack pointer will be the same as it was and it will attempt to unwind into the stack frames the child has clobbered.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |