qfork()

Donald Lewine lewine at cheshirecat.webo.dg.com
Fri Dec 21 08:13:25 AEST 1990


Submitted-by: lewine at cheshirecat.webo.dg.com (Donald Lewine)

[[I hope that this has not been covered in detail on comp.std.unix.  
  Delivery of the newsgroup has been uneven for the last few weeks.]]

[It's not been so much delivery as posting, due to lessened attention
on my part because of lack of funding, and also because of no snitch
reports.  -mod]

Draft 5 of POSIX.1a defines qfork() by saying:
"The qfork() function shall be identical to the fork() function with
 the following exception: behavior is undefined if the child process
 executes any code between the return from qfork() and the succeeding
 call to one of the exec functions or _exit()."

This seems to be a very harsh restriction.  The following code seems
like it would be undefined:
	status = qfork();
	if (status == 0) execve(...);

I would propose replacing the phrase: "executes any code" with "calls
any function defined in this standard or the C standard {8}"  I think
that does what you mean.

--------------------------------------------------------------------
Donald A. Lewine                (508) 870-9008 Voice
Data General Corporation        (508) 366-0750 FAX
4400 Computer Drive. MS D112A
Westboro, MA 01580  U.S.A.

uucp: uunet!dg!lewine   Internet: lewine at cheshirecat.webo.dg.com

Volume-Number: Volume 22, Number 35



More information about the Comp.std.unix mailing list