Skip to content

Commit

Permalink
Catch exception in io_callback
Browse files Browse the repository at this point in the history
  • Loading branch information
badaix committed Jul 1, 2022
1 parent 550f7c5 commit fd4d821
Showing 1 changed file with 20 additions and 16 deletions.
36 changes: 20 additions & 16 deletions server/etc/plug-ins/meta_mpd.py
Original file line number Diff line number Diff line change
Expand Up @@ -448,24 +448,28 @@ def control(self, cmd):
"code": -32700, "message": "Parse error", "data": str(e)}, "id": id})

def io_callback(self, fd, event):
logger.debug("IO event %r on fd %r" % (event, fd))
if event & GLib.IO_HUP:
logger.debug("IO_HUP")
return True
elif event & GLib.IO_IN:
chunk = fd.read()
for char in chunk:
if char == '\n':
logger.info(f'Received: {self._buffer}')
self.control(self._buffer)
self._buffer = ''
else:
self._buffer += char
try:
logger.error(f'IO event "{event}" on fd "{fd}" (type: "{type(fd)}"')
if event & GLib.IO_HUP:
logger.debug("IO_HUP")
return True
elif event & GLib.IO_IN:
chunk = fd.read()
for char in chunk:
if char == '\n':
logger.info(f'Received: {self._buffer}')
self.control(self._buffer)
self._buffer = ''
else:
self._buffer += char
return True
except Exception as e:
logger.error(f'Exception in io_callback: "{str(e)}"')
return True

def socket_callback(self, fd, event):
try:
logger.debug("Socket event %r on fd %r" % (event, fd))
logger.debug(f'Socket event "{event}" on fd "{fd}"')
if event & GLib.IO_HUP:
self.reconnect()
return True
Expand All @@ -485,8 +489,8 @@ def socket_callback(self, fd, event):
updated = True
self.idle_enter()
return True
except:
logger.error('Exception in socket_callback')
except Exception as e:
logger.error(f'Exception in socket_callback: "{str(e)}"')
self.reconnect()
return True

Expand Down

0 comments on commit fd4d821

Please sign in to comment.