On 10/05/2007 5.38, Josiah Carlson wrote: >>> using multiple processes cause some >>> headaches with frozen distributions (PyInstaller, py2exe, etc.), like those >>> usually found on Windows, specifically because Windows does not have fork(). >> Isn't that just a problem with Windows generally? I don't >> see what the method of packaging has to do with it. >> >> Also, I've seen it suggested that there may actually be >> a way of doing something equivalent to a fork in Windows, >> even though it doesn't have a fork() system call as such. >> Does anyone know more about this? > > Cygwin emulates fork() by creating a shared mmap, creating a new child > process, copying the contents of the parent process' memory to the child > process (after performing the proper allocations), then hacks up the > child process' call stack.
Yes that's the theory. If you look at the implementation, it's fullfilled of complexities, corner cases, undocumented glitchs and whatnot. cygwin's fork() is mature, but I don't think it's easy to extract from cygwin. Moreover, there would be license issues since fork() is GPL. Doing another implementation from scratch is going to be hard. -- Giovanni Bajo _______________________________________________ Python-3000 mailing list Python-3000@python.org http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com