On Jun 4, 11:29 pm, Paul Boddie <[EMAIL PROTECTED]> wrote: > tested the executable on Windows. COW (copy-on-write, for those still > thinking that we're talking about dairy products) would be pretty > desirable if it's feasible, though.
There is a well known C++ implementation of cow-fork on Windows, which I have slightly modified and ported to C. But as the new WDK (Windows driver kit) headers are full of syntax errors, the compiler choke on it. :( I am seriously considering re-implementing the whole cow fork in pure Python using ctypes. If you pass NULL as section handle to ZwCreateProcess (or NtCreateProcess) you do get a rudimentary cow fork. But the new process image has no context and no active threads. The NT kernel is designed to support several subsystems. Both the OS/2 and SUA subsystems provide a functional COW fork, but the Win32 subsystem do not expose the functionality. I honestly don't understand why, but maybe it is backwards compatibility that prevents it (it's backlog goes back to DOS, in which forking was impossible due to single- tasking.) But anyway ... what I am trying to say is that pyprocessing is somewhat inefficient (and limited) on Windows due to lack of a fork (cow or not). -- http://mail.python.org/mailman/listinfo/python-list