Remove "IOLoop is closing" error.
Callbacks added while the IOLoop is closing will now simply not be called (which has always been a possible fate for callbacks added just *before* the close). This exception has not proved to be very useful and sometimes has false positives that are tricky to work around, as seen in the linked issues. Closes #1491. Closes #1244.
This commit is contained in:
parent
b3a6c413be
commit
8115299860
|
@ -914,7 +914,7 @@ class PollIOLoop(IOLoop):
|
|||
# with other threads, or waking logic will induce a race.
|
||||
with self._callback_lock:
|
||||
if self._closing:
|
||||
raise RuntimeError("IOLoop is closing")
|
||||
return
|
||||
list_empty = not self._callbacks
|
||||
self._callbacks.append(functools.partial(
|
||||
stack_context.wrap(callback), *args, **kwargs))
|
||||
|
@ -927,7 +927,7 @@ class PollIOLoop(IOLoop):
|
|||
self._waker.wake()
|
||||
else:
|
||||
if self._closing:
|
||||
raise RuntimeError("IOLoop is closing")
|
||||
return
|
||||
# If we're on the IOLoop's thread, we don't need the lock,
|
||||
# since we don't need to wake anyone, just add the
|
||||
# callback. Blindly insert into self._callbacks. This is
|
||||
|
|
Loading…
Reference in New Issue