On Fri, Mar 16, 2012 at 6:03 PM, lkcl luke <[email protected]> wrote: > On Fri, Mar 16, 2012 at 5:51 PM, lkcl luke <[email protected]> wrote: > >> apparently it is actually possible to use the low-level >> NtCreateProcess function to create a unix version of fork. sort-of. >> fuuun.... > > http://blog.airesoft.co.uk/code/fork.cpp > > ye gods what a mess! but... yep, it looks doable. *respect* for mr > airesoft, for solving _that_ one.
ah i just spoke to him: the code he wrote segfaults when the fork returns. i started investigating cygwin's implementation instead: http://cygwin.com/cgi-bin/cvsweb.cgi/~checkout~/src/winsup/cygwin/fork.cc?rev=1.233&content-type=text/plain&cvsroot=src it's much much worse. um... is there any chance of redesigning dpkg to not require fork? popen looks like it could be used in movecontrolfiles; likewise in extracthalf. deb_reassemble, again subproc_fork appears to be being used as a subsitute for popen. and deb_verify. each of those perform an execlp immediately after the fork, with a subproc_wait_check... falliblesubprocess, too, seems to be executing a remote command and waiting for it to complete before continuing. ok, i'm labouring the point: is there any situation in dpkg where fork *isn't* used to do the same job as popen? l. -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/CAPweEDwGw3cjOi-chVYsHvhJb7zt+=j3can1mzzp55uxe+m...@mail.gmail.com

