diff options
author | Victor Stinner <vstinner@redhat.com> | 2015-07-20 17:18:59 +0200 |
---|---|---|
committer | Victor Stinner <vstinner@redhat.com> | 2015-07-20 17:36:41 +0200 |
commit | 13b71a16ee9d5af4939a7e214e92fa89cb96f6a3 (patch) | |
tree | cb9525ce018206804591e7e255c5745a044018c6 /asyncio/selector_events.py | |
parent | 9bb67431adc916d9d4b4e23ca257658c980d035d (diff) | |
download | trollius-git-closing.tar.gz |
Add closing read-only property to transportsclosing
* Disallow write() on closing transports
* Disallow aslo calling pause_writing() and resume_writing() on
StreamReaderProtocol if the transport is closing
Diffstat (limited to 'asyncio/selector_events.py')
-rw-r--r-- | asyncio/selector_events.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/asyncio/selector_events.py b/asyncio/selector_events.py index 7c5b9b5..6898138 100644 --- a/asyncio/selector_events.py +++ b/asyncio/selector_events.py @@ -521,7 +521,6 @@ class _SelectorTransport(transports._FlowControlMixin, self._server = server self._buffer = self._buffer_factory() self._conn_lost = 0 # Set when call to connection_lost scheduled. - self._closing = False # Set when close() called. if self._server is not None: self._server._attach() @@ -681,6 +680,8 @@ class _SelectorSocketTransport(_SelectorTransport): if not isinstance(data, (bytes, bytearray, memoryview)): raise TypeError('data argument must be byte-ish (%r)', type(data)) + if self._closing: + raise RuntimeError('Cannot call write() after close()') if self._eof: raise RuntimeError('Cannot call write() after write_eof()') if not data: |