diff --git a/src/revpi_middleware/dbus_middleware1/bus_provider.py b/src/revpi_middleware/dbus_middleware1/bus_provider.py index d3b6701..bc45d4a 100644 --- a/src/revpi_middleware/dbus_middleware1/bus_provider.py +++ b/src/revpi_middleware/dbus_middleware1/bus_provider.py @@ -34,12 +34,19 @@ class BusProvider(Thread): def run(self): log.debug("enter BusProvider.run") - self._bus.publish( - REVPI_DBUS_NAME, - InterfacePiControl(self.picontrol_device, self.config_rsc), - ) + try: + self._bus.publish( + REVPI_DBUS_NAME, + InterfacePiControl(self.picontrol_device, self.config_rsc), + ) + except Exception as e: + log.error(f"can not publish dbus {REVPI_DBUS_NAME}: {e}") + + try: + self._loop.run() + except Exception as e: + log.error(f"can not run dbus mainloop: {e}") - self._loop.run() log.debug("leave BusProvider.run") def stop(self):