Python multiprocessing is different under Linux and Windows
rhodesmill.org
rhodesmill.org
So, in short; I agree, patch welcome or we wait until I or someone else has the time to do it.
Can anyone check if this problem also exists in the Cygwin version of Python? It's closer to the Unix source and should behave in a more unix-ish fashion. I am glad I no longer can ;-)
I always install Cygwin when I work from a Windows box. It gives me a varnish layer of civility on what I feel is a mostly barbaric environment.
That said, the POSIX subsystem NT had should be able to handle proper process forking. I am not sure how easy (or not) would it be to run Python on it, but that should also work.
How would you call those?
Edit: One thing to note, though, is that it's easy to subvert the Win32 subsystem by using these APIs directly. I.e. if you want to fork a Win32 process, you're going to need to not only fork it the standard NT way, but then tell CSRSS what you're actually doing. It's easy to run into a situation where the Win32 subsystem won't play nicely with you, because it just doesn't have enough information.
A semi-hidden API like this is a huge benefit to Microsoft itself, and a detriment to its competitors, or indeed, anyone who writes software that becomes a DLL in the next version of Windows.
If you write to a documented API (Win32, GINA, etc) your code is slower and possibly less capable than it could be.
If you write to the undocumented NT-native-API, you have to invest time and effort into understanding it, and risk having it change out from under you at the next rev.
Microsoft internally, and/or favored partners, get to use the faster, capable native API.
So, Windows developers have something of a dilemma to deal with, don't they?
Also, I'm given to understand they're callable as C functions.
But if you "must" do it, let the implementation/agent for each platform be as different as they need to be, with no shared mutable memory, and just pass messages.