From b5c6bc044263f280a742be35998e7cf729864b90 Mon Sep 17 00:00:00 2001 From: Thomas Adamcik Date: Tue, 12 Jul 2011 03:18:07 +0200 Subject: [PATCH] Allways return true from recv_callback, rely on activly removing sources instead --- mopidy/utils/network.py | 14 ++++++-------- tests/utils/network_test.py | 10 +++++----- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/mopidy/utils/network.py b/mopidy/utils/network.py index 27eb3ed8..c56690a3 100644 --- a/mopidy/utils/network.py +++ b/mopidy/utils/network.py @@ -189,21 +189,19 @@ class Connection(object): def recv_callback(self, fd, flags): if flags & (gobject.IO_ERR | gobject.IO_HUP): self.stop() - return False + return True try: data = self.sock.recv(4096) except socket.error as e: - if e.errno in (errno.EWOULDBLOCK, errno.EINTR): - return True - self.stop() - return False + if e.errno not in (errno.EWOULDBLOCK, errno.EINTR): + self.stop() + return True if not data: self.stop() - return False - - self.actor_ref.send_one_way({'received': data}) + else: + self.actor_ref.send_one_way({'received': data}) return True def send_callback(self, fd, flags): diff --git a/tests/utils/network_test.py b/tests/utils/network_test.py index 8fd345c6..f280c0d3 100644 --- a/tests/utils/network_test.py +++ b/tests/utils/network_test.py @@ -419,17 +419,17 @@ class ConnectionTest(unittest.TestCase): self.mock.enable_send.assert_called_once_with() def test_recv_callback_respects_io_err(self): - self.assertFalse(network.Connection.recv_callback(self.mock, + self.assertTrue(network.Connection.recv_callback(self.mock, sentinel.fd, gobject.IO_IN | gobject.IO_ERR)) self.mock.stop.assert_called_once_with() def test_recv_callback_respects_io_hup(self): - self.assertFalse(network.Connection.recv_callback(self.mock, + self.assertTrue(network.Connection.recv_callback(self.mock, sentinel.fd, gobject.IO_IN | gobject.IO_HUP)) self.mock.stop.assert_called_once_with() def test_recv_callback_respects_io_hup_and_io_err(self): - self.assertFalse(network.Connection.recv_callback(self.mock, + self.assertTrue(network.Connection.recv_callback(self.mock, sentinel.fd, gobject.IO_IN | gobject.IO_HUP | gobject.IO_ERR)) self.mock.stop.assert_called_once_with() @@ -447,7 +447,7 @@ class ConnectionTest(unittest.TestCase): self.mock.sock = Mock(spec=socket.SocketType) self.mock.sock.recv.return_value = '' - self.assertFalse(network.Connection.recv_callback( + self.assertTrue(network.Connection.recv_callback( self.mock, sentinel.fd, gobject.IO_IN)) self.mock.stop.assert_called_once_with() @@ -463,7 +463,7 @@ class ConnectionTest(unittest.TestCase): self.mock.sock = Mock(spec=socket.SocketType) self.mock.sock.recv.side_effect = socket.error() - self.assertFalse(network.Connection.recv_callback( + self.assertTrue(network.Connection.recv_callback( self.mock, sentinel.fd, gobject.IO_IN)) self.mock.stop.assert_called_once_with()