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