diff --git a/libp2p/network/connection/swarm_connection.py b/libp2p/network/connection/swarm_connection.py index e25d75f0..29d544eb 100644 --- a/libp2p/network/connection/swarm_connection.py +++ b/libp2p/network/connection/swarm_connection.py @@ -43,6 +43,9 @@ class SwarmConn(INetConn): # We *could* optimize this but it really isn't worth it. for stream in self.streams: await stream.reset() + # Force context switch for stream handlers to process the stream reset event we just emit + # before we cancel the stream handler tasks. + await asyncio.sleep(0.1) for task in self._tasks: task.cancel()