On 09/26/2010 08:28 AM, Francesc Alted wrote:
> 
> You are trying to use different where iterators from two processes and 
> this is not supported (to start with, you need to compile HDF5 in 
> thread-safe mode).
> 

Hi Francesc,
        Thank you for the quick response (and the excellent code!).

        I thought the processes forked by multiprocessing.Process shared no
state, except explicitly through IPC (which is how they sidestep the
issues with GIL)? In principle those could even be on different machines
(using multiprocessing.Manager). So I'm not sure why thread-safety is
the issue.

        Also, in the original testcase, even if I comment out the call to
_worker() from the parent process (so that pytables are used _only_ from
the child) the problem remains.

        Do either pytables or HDF5 do something internally that makes them not
work across a fork()?

Cheers,
-- 
Mario Juric,
Hubble Fellow,  Harvard-Smithsonian Center for Astrophysics
Web   :  http://www.sns.ias.edu/~mjuric/
Phone :  +1 617 744-9003     PGP: ~mjuric/crypto/public.key

E-mail reading/answering policy:  http://majuric.org/email/

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Pytables-users mailing list
Pytables-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/pytables-users

Reply via email to