Path: utzoo!attcan!telly!lethe!torsqnt!news-server.csri.toronto.edu!cs.utexas.edu!jsq From: lewine@cheshirecat.webo.dg.com (Donald Lewine) Newsgroups: comp.std.unix Subject: qfork() Message-ID: <16066@cs.utexas.edu> Date: 20 Dec 90 21:13:25 GMT Sender: jsq@cs.utexas.edu Lines: 33 Approved: jsq@cs.utexas.edu (Moderator, John S. Quarterman) X-Submissions: std-unix@uunet.uu.net Submitted-by: lewine@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@cheshirecat.webo.dg.com Volume-Number: Volume 22, Number 35