[issue13569] multiprocessing module: Process.start() fails with EOFError: pickle.PicklingError: Can't pickle <type 'thread.lock'>: it's not found as thread.lock
Nikita Pchelin
report at bugs.python.org
Sat Dec 10 00:20:20 CET 2011
Nikita Pchelin <nikita.pchelin at gmail.com> added the comment:
Hi Antoine,
* If I don't pass a logger and do print statements instead, works like a
charm.
* If I getLogger() in the child instead, example fails with the same trace.
However, according to this ( http://docs.python.org/library/logging.html
): "The logging module is intended to be thread-safe without any special
work needing to be done by its clients. It achieves this though using
threading locks; there is one lock to serialize access to the module’s
shared data, and each handler also creates a lock to serialize access to
its underlying I/O."
Which is why I assumed I could use logging safely.
Thanks,
Nikita
On 11-12-09 04:30 PM, Antoine Pitrou wrote:
> Antoine Pitrou<pitrou at free.fr> added the comment:
>
> I don't think it's the queue. Try removing the logger instead (or creating it in the child).
>
> ----------
>
> _______________________________________
> Python tracker<report at bugs.python.org>
> <http://bugs.python.org/issue13569>
> _______________________________________
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue13569>
_______________________________________
More information about the Python-bugs-list
mailing list