mirror of
https://github.com/badaix/snapcast.git
synced 2025-08-06 10:09:33 +02:00
Catch exception in io_callback
This commit is contained in:
parent
550f7c5b3f
commit
fd4d82126f
1 changed files with 20 additions and 16 deletions
|
@ -448,24 +448,28 @@ class MPDWrapper(object):
|
||||||
"code": -32700, "message": "Parse error", "data": str(e)}, "id": id})
|
"code": -32700, "message": "Parse error", "data": str(e)}, "id": id})
|
||||||
|
|
||||||
def io_callback(self, fd, event):
|
def io_callback(self, fd, event):
|
||||||
logger.debug("IO event %r on fd %r" % (event, fd))
|
try:
|
||||||
if event & GLib.IO_HUP:
|
logger.error(f'IO event "{event}" on fd "{fd}" (type: "{type(fd)}"')
|
||||||
logger.debug("IO_HUP")
|
if event & GLib.IO_HUP:
|
||||||
return True
|
logger.debug("IO_HUP")
|
||||||
elif event & GLib.IO_IN:
|
return True
|
||||||
chunk = fd.read()
|
elif event & GLib.IO_IN:
|
||||||
for char in chunk:
|
chunk = fd.read()
|
||||||
if char == '\n':
|
for char in chunk:
|
||||||
logger.info(f'Received: {self._buffer}')
|
if char == '\n':
|
||||||
self.control(self._buffer)
|
logger.info(f'Received: {self._buffer}')
|
||||||
self._buffer = ''
|
self.control(self._buffer)
|
||||||
else:
|
self._buffer = ''
|
||||||
self._buffer += char
|
else:
|
||||||
|
self._buffer += char
|
||||||
|
return True
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(f'Exception in io_callback: "{str(e)}"')
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def socket_callback(self, fd, event):
|
def socket_callback(self, fd, event):
|
||||||
try:
|
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:
|
if event & GLib.IO_HUP:
|
||||||
self.reconnect()
|
self.reconnect()
|
||||||
return True
|
return True
|
||||||
|
@ -485,8 +489,8 @@ class MPDWrapper(object):
|
||||||
updated = True
|
updated = True
|
||||||
self.idle_enter()
|
self.idle_enter()
|
||||||
return True
|
return True
|
||||||
except:
|
except Exception as e:
|
||||||
logger.error('Exception in socket_callback')
|
logger.error(f'Exception in socket_callback: "{str(e)}"')
|
||||||
self.reconnect()
|
self.reconnect()
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue