bug in vfork semantics under IRIX 3.3.1
Paul Eggert
eggert at twinsun.com
Fri Nov 30 15:13:07 AEST 1990
chk%alias at csri.toronto.edu (C. Harald Koch) writes:
Under IRIX, the vfork() call is actually implemented using sproc(),
which is a more primitive way to get multiple processes. It DOES NOT
give you a separate u-area. So the setgid() call affects the parent!
... I strongly suggest not using it at all....
I second this suggestion. Under IRIX 3.3, vfork() also botches file
descriptors: e.g. if a vfork() child process closes a file, IRIX mistakenly
closes the corresponding file descriptor in the parent. I ran into this
problem porting RCS 5.4 to SGI.
I couldn't find any SGI documentation for vfork(),
so I suspect it's both undocumented and unsupported.
Even so, surely it is unwise for SGI to supply such a nonstandard vfork(),
because too many people will run into similar problems.
More information about the Comp.sys.sgi
mailing list