dbus-daemon closing connection?

Krishna R sith.list at gmail.com
Wed Apr 11 18:50:22 PDT 2007


Hi,

I am looking at a problem where a process using my dbus wrapper library was
exiting. The library itself sets a filter function to look for signals and
calls  dbus_connection_read_write_dispatch().  Debugging futher lead me to
_*dbus_connection*_update_dispatch_status_and_unlock calling exit()...

_dbus_verbose ("Exiting on Disconnected signal\n");
_dbus_exit (1);

Further probing lead to disconnect signal being the cause of do_io_error()
in dbus-transport-socket.c, it was called because do_reading() which reads
from the socket and gets bytes_read = 0. That means the socket was closed on
the other end?

The question i have is why is the dbus-daemon closing the socket? Or is it?

It seems to be hard to reproduce this, that is if DBUS_VERBOSE is on, it
does not happen making me believe there is some race condition.

Another thing is the receiving process B (which exits getting the
disconnected signal) gets atleast one signal sent from another process A
before it gets the disconnect signal.

dbus-daemon, A and B are started one after another at boot in the
foreground. Is there some problem where the session bus is not fully
initialized? That may not be because atleast one signal from A reaches B.

Any insights appreciated.

Thanks,
K
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freedesktop.org/archives/dbus/attachments/20070411/94c32448/attachment.html


More information about the dbus mailing list