diff options
Diffstat (limited to 'distbuild/sockbuf.py')
-rw-r--r-- | distbuild/sockbuf.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/distbuild/sockbuf.py b/distbuild/sockbuf.py index fc0315b0..3f0e36f2 100644 --- a/distbuild/sockbuf.py +++ b/distbuild/sockbuf.py @@ -1,6 +1,6 @@ # mainloop/sockbuf.py -- a buffering, non-blocking socket I/O state machine # -# Copyright (C) 2012, 2014 Codethink Limited +# Copyright (C) 2012, 2014-2015 Codethink Limited # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -106,22 +106,27 @@ class SocketBuffer(StateMachine): ('reading', self, _WriteBufferNotEmpty, 'rw', self._start_writing), ('reading', self, SocketBufferEof, 'idle', None), + ('reading', self, SocketError, None, self._really_close), ('reading', self, _Close, None, self._really_close), ('rw', src, SocketReadable, 'rw', self._fill), ('rw', src, SocketWriteable, 'rw', self._flush), ('rw', self, _WriteBufferIsEmpty, 'reading', self._stop_writing), ('rw', self, SocketBufferEof, 'w', None), + ('rw', self, SocketError, None, self._really_close), ('rw', self, _Close, 'wc', None), ('idle', self, _WriteBufferNotEmpty, 'w', self._start_writing), + ('idle', self, SocketError, None, self._really_close), ('idle', self, _Close, None, self._really_close), ('w', src, SocketWriteable, 'w', self._flush), ('w', self, _WriteBufferIsEmpty, 'idle', self._stop_writing), + ('w', self, SocketError, None, self._really_close), ('wc', src, SocketWriteable, 'wc', self._flush), ('wc', self, _WriteBufferIsEmpty, None, self._really_close), + ('wc', self, SocketError, None, self._really_close), ] self.add_transitions(spec) |