This is the mail archive of the cygwin-developers@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: vfork / setsid interaction


On Tue, Aug 13, 2002 at 04:52:30PM +0200, Corinna Vinschen wrote:
>On Tue, Aug 13, 2002 at 10:28:09AM -0400, Joe Buehler wrote:
>> Robert Collins wrote:
>> 
>> >IIRC According to SUSv2, calling *anything* after [v]fork() other than
>> >exec() may lead to unexpected behaviour. 
>> >
>> >You might like to reference the SUSv2 and see what the expected
>> >behaviour is.
>> 
>> Granted, but compatibility with historical UNIX behavior makes it
>> easier to port things.
>
>Not if compatibility is a big problem.  And the vfork() implementation
>isn't thought to be coincidentally compatible with some random UNIX
>but to be a fast implementation to allow the common cases covered
>by the standards.  Otherwise we could stick with fork() and a vfork()
>which just calls fork().

Before we dismiss the problem, however, I'd like to understand what's
going on.  vfork is basically just a wrapper around spawn.  If there
are problems with a process that is invoked after a vfork then that's
definitely a problem.

If there is a problem with calling setsid in vfork and not having things
correctly restored when vfork "returns", that should be pretty easy to
fix.

cgf


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]