New submission from Xavier de Gaye <xdeg...@gmail.com>: When the remote end disconnects, handle_close is only called if recv is called (from handle_read). The default implementation of handle_read does not call recv.
Not having the default implementation of handle_read call recv, has the following drawbacks: an implementation of a subclass of dispatcher that only sends data, a logger for example, may believe that it does not have to implement handle_read since it does not expect any data and since there is no hint in the code or in the documentation that it should test_handle_expt currently succeeds when it should fail since the current handling of out-of-band data is broken (see issue 13310), but if the default implementation of handle_read had called recv, then test_handle_expt would have failed, allowing to detect the problem The attached patch adds a call to recv in handle_read, updates the documentation and adds a test case. Note that when this patch is applied, test_handle_expt fails as expected, issue 13310 should be fixed first. ---------- components: Library (Lib) files: handle_read.diff keywords: patch messages: 146785 nosy: xdegaye priority: normal severity: normal status: open title: asyncore handle_read should call recv type: behavior versions: Python 2.7, Python 3.3 Added file: http://bugs.python.org/file23581/handle_read.diff _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue13311> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com