From 38cecde96b89a5dfc9c5bb89a5c38b0a41297608 Mon Sep 17 00:00:00 2001 From: Stein Magnus Jodal Date: Sat, 20 Mar 2010 02:24:20 +0100 Subject: [PATCH] Exceptions won't jump over the multiprocessing connection --- mopidy/mpd/server.py | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/mopidy/mpd/server.py b/mopidy/mpd/server.py index fd5a24aa..575acb20 100644 --- a/mopidy/mpd/server.py +++ b/mopidy/mpd/server.py @@ -74,20 +74,16 @@ class MpdSession(asynchat.async_chat): self.handle_request(input) def handle_request(self, input): - try: - my_end, other_end = multiprocessing.Pipe() - self.core_queue.put({ - 'command': 'mpd_request', - 'request': input, - 'reply_to': pickle_connection(other_end), - }) - my_end.poll(None) - response = my_end.recv() - if response is not None: - self.handle_response(response) - except MpdAckError, e: - logger.warning(e) - return self.send_response(u'ACK %s' % e) + my_end, other_end = multiprocessing.Pipe() + self.core_queue.put({ + 'command': 'mpd_request', + 'request': input, + 'reply_to': pickle_connection(other_end), + }) + my_end.poll(None) + response = my_end.recv() + if response is not None: + self.handle_response(response) def handle_response(self, response): self.send_response(LINE_TERMINATOR.join(response))