This is the mail archive of the libc-hacker@cygnus.com mailing list for the glibc project.


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

Re: vfork specs


> Assume this:
> 
> 	void
> 	bar ()
> 	{
> 	  pid_t p = baz ();
> 	  if (p == 0)
> 	    foo (0);
> 	}
> 	pid_t
> 	baz ()
> 	{
> 	  return vfork ();
> 	}

The Single Unix Specification says:

: The vfork() function has the same effect as fork(),
: except that the behaviour is undefined if the process
: created by vfork() either modifies any data other than
: a variable of type pid_t used to store the return value
: from vfork(), or returns from the function in which
: vfork() was called, or calls any other function before
: successfully calling _exit() or one of the exec family
: of functions. 

So this one is (if I interpret it correctly)
definitly bad code.

Regards
-- 
				Stano



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