diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2015-03-06 20:17:25 (GMT) |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2015-03-06 20:17:25 (GMT) |
commit | 233e6988f4b439f160732dd5b55e9d1a06a64b47 (patch) | |
tree | 2993c887aa884212112cccfbb39cfe186c77b1f0 /Lib/multiprocessing | |
parent | f050648a505b3810b659ca490c2e418a02c702cc (diff) | |
download | cpython-233e6988f4b439f160732dd5b55e9d1a06a64b47.zip cpython-233e6988f4b439f160732dd5b55e9d1a06a64b47.tar.gz cpython-233e6988f4b439f160732dd5b55e9d1a06a64b47.tar.bz2 |
Issue #22853: Fixed a deadlock when use multiprocessing.Queue at import time.
Patch by Florian Finkernagel and Davin Potts.
Diffstat (limited to 'Lib/multiprocessing')
-rw-r--r-- | Lib/multiprocessing/queues.py | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/Lib/multiprocessing/queues.py b/Lib/multiprocessing/queues.py index 433c7e2..487e0af 100644 --- a/Lib/multiprocessing/queues.py +++ b/Lib/multiprocessing/queues.py @@ -44,10 +44,10 @@ import weakref from Queue import Empty, Full import _multiprocessing -from multiprocessing import Pipe -from multiprocessing.synchronize import Lock, BoundedSemaphore, Semaphore, Condition -from multiprocessing.util import debug, info, Finalize, register_after_fork -from multiprocessing.forking import assert_spawning +from . import Pipe +from .synchronize import Lock, BoundedSemaphore, Semaphore, Condition +from .util import debug, info, Finalize, register_after_fork, is_exiting +from .forking import assert_spawning # # Queue type using a pipe, buffer and thread @@ -229,8 +229,6 @@ class Queue(object): @staticmethod def _feed(buffer, notempty, send, writelock, close): debug('starting thread to feed data to pipe') - from .util import is_exiting - nacquire = notempty.acquire nrelease = notempty.release nwait = notempty.wait |