Date: Fri, 19 Apr 96 15:22:21 +0200 From: Lars Gerhard Kuehl <lars@elbe.desy.de> To: smpatel@umiacs.umd.edu Cc: current@FreeBSD.ORG Subject: Re: Changes for vfork() Message-ID: <9604191322.AA07511@elbe.desy.de>
next in thread | raw e-mail | index | archive | help
> We should briefly look over the source tree too. Some brain-dead programs > may rely on vfork() behavior (such as sleeping on the child, or altering > the parent's address space)... The current vfork() already doesn't allow the child to alter the parent's address space and sometimes it's very desirable (or at least convenient) if one can rely on the parent being suspended until the child calls execve() or _exit(). I'd prefer somthing like a pid_t newfork(int suspend_parent), fork implemented as pid_t fork() { return newfork(0); } and so far anybody needs it vfork as pid_t vfork() { return newfork(42); } fork1() is actually almost an implementation of that 'newfork()', thus with only negligible changes in the kernel and libc code the number of system calls could be decremented and nobody had to miss anything. Lars
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9604191322.AA07511>