SIGPIPE and DBus
steve.kreyer at web.de
Sun Sep 23 12:05:38 PDT 2007
Thiago Macieira wrote:
> D-Bus doesn't use pipes for IPC, but local sockets. The semantics are very
> similar. In special, trying to write to a socket whose reading end has
> closed will generate SIGPIPE.
> However, the D-Bus daemon doesn't close the socket unless the application
> has sent an invalid message. Therefore, if you're getting a SIGPIPE *and*
> the cause is D-Bus closing its socket, verify that your binding isn't
> sending an invalid message.
Your help has brought me on the right way. The application emits signals
from diffrent threads. So if two threads write to one socket at the same
time, I think, things get messed up and this propably leads to a
mailformed message. I wasn't aware that these sections, where the
signals are emitted, must be mutual excluded. I thouhgt, if this
function (g_signal_emit, since I use the the glib-binding) could cause
race condiditions they should be thread safe by default. This was a less
or more wrong assumption.
> It's more likely that the issue isn't D-Bus.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 3245 bytes
Desc: S/MIME Cryptographic Signature
Url : http://lists.freedesktop.org/archives/dbus/attachments/20070923/cf160e48/attachment.bin
More information about the dbus