Thanks, Kovid!
I had no idea multiprocessing uses fork(); this explains everything. It
also seems there is no way to get rid of the copied QApplication after
forking.
There is a patch to allow forkless-multiprocessing on unix, but I think it
might be for python 3 only.

On Mon, Jun 11, 2012 at 1:15 PM, Kovid Goyal <ko...@kovidgoyal.net> wrote:

> The one really useful thing in the multiprocessing module is the
> Listener and Client classes that allow you to establish easy
> communication between your parent and child process. Though even there,
> the implementation in multiprocessing is not EINTR safe so you have to
> wrap calls to accept(), read(), write() in a wrapper that deals with
> EINTR.
>

I agree with you about the multiprocessing package--I really only use it
for the ease of passing python objects between processes. (I use
multiprocessing.Pipe(), which I believe uses the Listener/Client system you
mentioned). I'll definitely try using this with subprocess instead. Thanks
for the EINTR warning; I'm sure that would have taken another hour or two
for me to work out :)

Luke
_______________________________________________
PyQt mailing list    PyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt

Reply via email to