vfork specs

Stanislav Meduna stano@trillian.eunet.sk
Thu Apr 1 00:00:00 GMT 1999


> 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




More information about the Libc-alpha mailing list