Skip to content

Commit 5e41abc

Browse files
committed
Avoid NotImplementedError on connection close
1 parent 3bdc079 commit 5e41abc

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

splitgpg2/__init__.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1417,6 +1417,7 @@ def __init__(self, loop=None):
14171417
self._paused = False
14181418
self._drain_waiters = collections.deque()
14191419
self._connection_lost = False
1420+
self._closed = self._loop.create_future()
14201421

14211422
def pause_writing(self):
14221423
assert not self._paused
@@ -1446,6 +1447,11 @@ def connection_lost(self, exc):
14461447
waiter.set_result(None)
14471448
else:
14481449
waiter.set_exception(exc)
1450+
if not self._closed.done():
1451+
if exc is None:
1452+
self._closed.set_result(None)
1453+
else:
1454+
self._closed.set_exception(exc)
14491455

14501456
async def _drain_helper(self):
14511457
if self._connection_lost:
@@ -1460,8 +1466,7 @@ async def _drain_helper(self):
14601466
self._drain_waiters.remove(waiter)
14611467

14621468
def _get_close_waiter(self, stream):
1463-
raise NotImplementedError
1464-
1469+
return self._closed
14651470

14661471
def open_stdinout_connection(*,
14671472
loop: Optional[asyncio.AbstractEventLoop]=None) -> \

0 commit comments

Comments
 (0)