Never shield-wait `ipc_server.wait_for_no_more_peers()`
As mentioned in prior testing commit, it can cause the worst kind of hangs, the SIGINT ignoring kind.. Pretty sure there was never any reason outside some esoteric multi-actor debugging case, and pretty sure that already was solved?to_asyncio_eoc_signal
parent
dd7aca539f
commit
4ca81e39e6
|
@ -1760,9 +1760,7 @@ async def async_main(
|
||||||
f' {pformat(ipc_server._peers)}'
|
f' {pformat(ipc_server._peers)}'
|
||||||
)
|
)
|
||||||
log.runtime(teardown_report)
|
log.runtime(teardown_report)
|
||||||
await ipc_server.wait_for_no_more_peers(
|
await ipc_server.wait_for_no_more_peers()
|
||||||
shield=True,
|
|
||||||
)
|
|
||||||
|
|
||||||
teardown_report += (
|
teardown_report += (
|
||||||
'-]> all peer channels are complete.\n'
|
'-]> all peer channels are complete.\n'
|
||||||
|
|
|
@ -814,10 +814,14 @@ class Server(Struct):
|
||||||
|
|
||||||
async def wait_for_no_more_peers(
|
async def wait_for_no_more_peers(
|
||||||
self,
|
self,
|
||||||
shield: bool = False,
|
# XXX, should this even be allowed?
|
||||||
|
# -> i've seen it cause hangs on teardown
|
||||||
|
# in `test_resource_cache.py`
|
||||||
|
# _shield: bool = False,
|
||||||
) -> None:
|
) -> None:
|
||||||
with trio.CancelScope(shield=shield):
|
await self._no_more_peers.wait()
|
||||||
await self._no_more_peers.wait()
|
# with trio.CancelScope(shield=_shield):
|
||||||
|
# await self._no_more_peers.wait()
|
||||||
|
|
||||||
async def wait_for_peer(
|
async def wait_for_peer(
|
||||||
self,
|
self,
|
||||||
|
|
Loading…
Reference in New Issue