home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
std_unix
/
v22
/
100
< prev
next >
Wrap
Internet Message Format
|
1991-03-07
|
3KB
From jsq@cs.utexas.edu Sun Feb 3 12:57:18 1991
Received: from cs.utexas.edu by uunet.UU.NET (5.61/1.14) with SMTP
id AA09305; Sun, 3 Feb 91 12:57:18 -0500
Posted-Date: 3 Feb 91 12:43:12 GMT
Received: by cs.utexas.edu (5.64/1.93)
From: mohta@necom830.cc.titech.ac.jp (Masataka Ohta)
Newsgroups: comp.std.unix
Subject: Re: qfork() (again)
Message-Id: <17598@cs.utexas.edu>
References: <16992@cs.utexas.edu> <17010@cs.utexas.edu> <17402@cs.utexas.edu> <17527@cs.utexas.edu>
Sender: jsq@cs.utexas.edu
Organization: Tokyo Institute of Technology
X-Submissions: std-unix@uunet.uu.net
Date: 3 Feb 91 12:43:12 GMT
Reply-To: std-unix@uunet.UU.NET
To: std-unix@uunet.UU.NET
Submitted-by: mohta@necom830.cc.titech.ac.jp (Masataka Ohta)
In article <17527@cs.utexas.edu> domo@tsa.co.uk writes:
>The problem -- one problem -- is in coming up with a ``portable''
>definition of ``data space''.
These are 'problems' (actually, not a problem) of C, not UNIX.
There is no problem about data space. C has clear and portable notion
of what is data space: register and memory. That's all.
It has very little to do with UNIX nor vfork().
>On what we currently assume to be
>``vanilla flavour'' architectures such as that of the 68000 which you
>cite, it's fairly obvious. But on others, it's not. What about
>registers? Are they data space? No? Even on architectures with
>register windows which may or may not map onto main memory addresses?
>Bear in mind that such exotica are not so exotic any more: RISCs use
>them widely.
Clearly, on exotic architectures, a C (not UNIX) pointer may point
to a register. It may be an exotic feature of C. But, it never is a
problem of C nor UNIX nor vfork().
>It seems that any definition which is safe on all architectures is
>liable to constrain what one may do between [qv]fork() and exec() so
>greatly
No.
First, list every operations which is safe between fork() and exec()
*and* between BSD vfork() and exec().
Then, those are the safe operations of POSIX vfork() on *all* architectures.
>that it turns out to be better to define a combined spwan()
>function.
Most (perhaps, more than 90%) of cases where fork/exec is necessary
is covered by system(). spawn() is not necessary.
Rest are special cases, where combined spawn() can help very little
and separate [v]fork() and exec() is really necessary.
Is it a role of POSIX to define unnecessary and totaly alien functions
and badly modify UNIX?
Don't try to reinvent wheels.
Masataka Ohta
Volume-Number: Volume 22, Number 100