libdbus and edge triggered watches

Nicolas Cavallari Nicolas.Cavallari at lri.fr
Mon May 21 05:58:46 PDT 2012


Hi,

I am trying to use D-Bus in a C++(11) application.

I tried using dbus-c++, and integrated it with a external mainloop
(boost::asio) which internally uses edge triggered epoll. But i
found that some signal handlers are deferred, so watches are not always
working. I am using the custom watch API from dbus-c++, which is
essentially a thin wrapper around the DBusWatch API from libdbus.

Looking at the code, libdbus does not seem to support edge triggered
watches. Edge triggered support would essentially mean that libdbus
must read()/write() from/to the fd until it returns EAGAIN.


More information about the dbus mailing list