Will Starms <vilhel...@gmail.com> added the comment:

I've realized that my patch may not be ideal for general-purpose use, but it's 
a good start for a discussion on the proper way to implement a timeout.

My patch (which is based on a more involved modification to Pool) assumes that 
the joins after the first will complete within a timely fashion, which is not 
necessarily true. While this prevents leaving the pool in a half-joined state, 
it can still get stuck joining other components or at least take significantly 
longer than the requested timeout.

Assuming that joining an already-joined object is safe, or it can be wrapped in 
an if statement to check before rejoining, I feel the best solution would be to 
reduce the timeout as joins complete, either raising (much easier) or returning 
(like threading.thread, but makes an is_alive function more difficult) when the 
remaining timeout time hits zero.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue31782>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to