private Thread run(
DBusConnection conn, String objectPath, Manager m, OutputWriter outputWriter, boolean ignoreAttachments
) throws DBusException {
- conn.exportObject(new DbusSignalImpl(m, objectPath));
+ final var signal = new DbusSignalImpl(m, conn, objectPath);
+ conn.exportObject(signal);
+ final var initThread = new Thread(signal::initObjects);
+ initThread.start();
logger.info("Exported dbus object: " + objectPath);
logger.warn("Receiving messages failed, retrying", e);
}
}
+ try {
+ initThread.join();
+ } catch (InterruptedException ignored) {
+ }
+ signal.close();
});
thread.start();