On Do, 13.12.18 12:11, Jan Mueller (janmueller.email@xxxxxxxxxxxxxx) wrote: > Hey Lennart - thank you for the quick response! > Ok, originally I stripped it down to select() for better comprehension. > Swichting back to epoll + making use of sd_bus_get_events() did not help > receiving the signals in this very situation. The basic communication > between > sender and receiver works fine so far though. I did already make use of > sd_bus_get_fd() and sd_bus_process() - please see the referenced + > updated example project: > https://github.com/mue-jan/dbus-missing-signals-or-fd-issue > > By the way: sd_bus_get_events() returns "0" in the referenced code-example. > The function-result printing is located right before the while(1) loop > around > epoll. You need to call the three calls on *every* loop iteration, and update fd/events/timeout on the epoll object before you can go to sleep. The I/O events, timeouts, fd can change on each iteration, hence this requirement. (Instead of epoll consider just using ppoll()/poll() where this is easier.) BTW, prompted by this discussion I prepped this PR, which substantially improves the documentation on these topics: https://github.com/systemd/systemd/pull/11127 Lennart -- Lennart Poettering, Red Hat _______________________________________________ systemd-devel mailing list systemd-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/systemd-devel