Skip to content

Commit cf2e9f9

Browse files
committed
Also catch RuntimeError when writting on transport
In case it is closed during the write operation.
1 parent 2715719 commit cf2e9f9

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

roll/__init__.py

+8-3
Original file line numberDiff line numberDiff line change
@@ -523,9 +523,14 @@ def write(self, *args):
523523
# Request has been aborted, thus socket as been closed, thus
524524
# transport has been closed?
525525
return
526-
self.transport.write(payload)
527-
if not self.parser.should_keep_alive():
528-
self.transport.close()
526+
try:
527+
self.transport.write(payload)
528+
except RuntimeError: # transport may still be closed during write.
529+
# TODO: Pass into error hook when write is async.
530+
pass
531+
else:
532+
if not self.parser.should_keep_alive():
533+
self.transport.close()
529534

530535

531536
Route = namedtuple('Route', ['payload', 'vars'])

0 commit comments

Comments
 (0)