peter@ficc.uu.net (Peter da Silva) (01/17/90)
Fork() is an elegant concept, but as has been seen it leads to problems implementing UNIX on a system without an MMU, or implementing a UNIX lookalike on top of a non-UNIX O/S. It's possible, but expensive. Wouldn't it be nice if there was a sanctioned P1003 subset that replaced fork() with a combined fork()/exec() call (spawn?). Or just an addition of spawn to the standard as an alternative process creation mechanism: This would radically improve the performance of non-UNIX POSIX systems, without compromising the capability of the standard... -- _--_|\ Peter da Silva. +1 713 274 5180. <peter@ficc.uu.net>. / \ \_.--._/ Xenix Support -- it's not just a job, it's an adventure! v "Have you hugged your wolf today?" `-_-'
prc@erbe.se (Robert Claeson) (01/17/90)
In article <DW31DR7xds13@ficc.uu.net>, peter@ficc.uu.net (Peter da Silva) writes: > Wouldn't it be nice if there was a sanctioned P1003 subset that replaced > fork() with a combined fork()/exec() call (spawn?). Or just an addition > of spawn to the standard as an alternative process creation mechanism: > This would radically improve the performance of non-UNIX POSIX systems, > without compromising the capability of the standard... An old (4.0?) Microsoft C compiler for MS-DOS that I have in my bookshelf has a set of spawn() functions in its library with variations like spawnl(), spawnle() like the exec() family of functions. Oh yes, all functions takes an additional parameter that indicates whether the parent process should wait for the child to terminate before it continues execution (in which case it behaves more like the system() function without the overhead of invoking a shell). One last note -- MS-DOS only supports the wait-for-child-to-die flag... -- Robert Claeson E-mail: rclaeson@erbe.se ERBE DATA AB
richard@aiai.ed.ac.uk (Richard Tobin) (01/18/90)
In article <DW31DR7xds13@ficc.uu.net> peter@ficc.uu.net (Peter da Silva) writes: >Wouldn't it be nice if there was a sanctioned P1003 subset that replaced >fork() with a combined fork()/exec() call (spawn?). No, it would just encourage people to use brain-dead systems. The less software runs on them, the sooner we'll be rid of them. -- Richard -- Richard Tobin, JANET: R.Tobin@uk.ac.ed AI Applications Institute, ARPA: R.Tobin%uk.ac.ed@nsfnet-relay.ac.uk Edinburgh University. UUCP: ...!ukc!ed.ac.uk!R.Tobin