Dan Sugalski <[EMAIL PROTECTED]> writes: >At 10:11 AM -0800 3/10/04, Brent \"Dax\" Royal-Gordon wrote: >>Josh Wilmes wrote: >>>It's also quite possible that miniparrot is a waste of time. I'm >>>pretty much of the opinion myself that it's an academic exercise at >>>this point, but one which keeps us honest, even if we don't use it. >> >>Miniparrot, or something very much like it, is the final build system. > >Yep. We need to make sure it always works. > >Which, unfortunately, will end up making things a hassle, since >there's no platform-independent way to spawn a sub-process, dammit. :(
On that topic specifically - the DOS style spawn() API is easy to fake with fork/exec but converse is NOT true. i.e. if Miniparrot assumes: pid_t my_spawn(const char *progname,int argc,const char *argv[]); int my_wait(pid_t proc); then Unix-oids can have pid_t my_spawn(const char *progname,int argc,const char *argv[]); { pid_t pid = fork(); if (pid) return pid; execv(progname,argc,argv); } Unidirectional popen() is also reasonably portable.