Fix issue 4660: spurious task_done errors in multiprocessing, remove doc note for from_address
This commit is contained in:
parent
175e0bf8ca
commit
8497efeb40
|
@ -1153,11 +1153,6 @@ their parent process exits. The manager classes are defined in the
|
||||||
|
|
||||||
Run the server in the current process.
|
Run the server in the current process.
|
||||||
|
|
||||||
.. method:: from_address(address, authkey)
|
|
||||||
|
|
||||||
A class method which creates a manager object referring to a pre-existing
|
|
||||||
server process which is using the given address and authentication key.
|
|
||||||
|
|
||||||
.. method:: get_server()
|
.. method:: get_server()
|
||||||
|
|
||||||
Returns a :class:`Server` object which represents the actual server under
|
Returns a :class:`Server` object which represents the actual server under
|
||||||
|
|
|
@ -282,9 +282,22 @@ class JoinableQueue(Queue):
|
||||||
Queue.__setstate__(self, state[:-2])
|
Queue.__setstate__(self, state[:-2])
|
||||||
self._cond, self._unfinished_tasks = state[-2:]
|
self._cond, self._unfinished_tasks = state[-2:]
|
||||||
|
|
||||||
def put(self, item, block=True, timeout=None):
|
def put(self, obj, block=True, timeout=None):
|
||||||
Queue.put(self, item, block, timeout)
|
assert not self._closed
|
||||||
self._unfinished_tasks.release()
|
if not self._sem.acquire(block, timeout):
|
||||||
|
raise Full
|
||||||
|
|
||||||
|
self._notempty.acquire()
|
||||||
|
self._cond.acquire()
|
||||||
|
try:
|
||||||
|
if self._thread is None:
|
||||||
|
self._start_thread()
|
||||||
|
self._buffer.append(obj)
|
||||||
|
self._unfinished_tasks.release()
|
||||||
|
self._notempty.notify()
|
||||||
|
finally:
|
||||||
|
self._cond.release()
|
||||||
|
self._notempty.release()
|
||||||
|
|
||||||
def task_done(self):
|
def task_done(self):
|
||||||
self._cond.acquire()
|
self._cond.acquire()
|
||||||
|
|
|
@ -485,6 +485,7 @@ Craig McPheeters
|
||||||
Lambert Meertens
|
Lambert Meertens
|
||||||
Bill van Melle
|
Bill van Melle
|
||||||
Lucas Prado Melo
|
Lucas Prado Melo
|
||||||
|
Brian Merrell
|
||||||
Luke Mewburn
|
Luke Mewburn
|
||||||
Mike Meyer
|
Mike Meyer
|
||||||
Steven Miale
|
Steven Miale
|
||||||
|
|
|
@ -354,6 +354,9 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #4660: If a multiprocessing.JoinableQueue.put() was preempted, it was
|
||||||
|
possible to get a spurious 'task_done() called too many times' error.
|
||||||
|
|
||||||
- Issue #6595: The Decimal constructor now allows arbitrary Unicode
|
- Issue #6595: The Decimal constructor now allows arbitrary Unicode
|
||||||
decimal digits in input, as recommended by the standard. Previously
|
decimal digits in input, as recommended by the standard. Previously
|
||||||
it was restricted to accepting [0-9].
|
it was restricted to accepting [0-9].
|
||||||
|
|
Loading…
Reference in New Issue