tags:

views:

693

answers:

4

D-Bus allows programs to communicate. How is this IPC implemented? Unix domain sockets, shared memory + semaphores, named pipes, something else? Maybe a combination?

+2  A: 

Apparently, IPC or TCP/IP:

http://www.freedesktop.org/wiki/Software/dbus
Update:
I mean, multiple IPC methods on different OS's, plus TCP/IP.
http://dbus.freedesktop.org/doc/dbus-daemon.1.html shows that the unix reference edition uses both unix domain sockets and tcp/ip.

Chris
+3  A: 

This is remarkably similar to the question DBus query. And the answer from Googling was sockets - either for TCP/IP or Unix Domain.

Jonathan Leffler
+2  A: 

I think it typically uses UNIX sockets. Under Linux, it may use "abstract namespace" Unix sockets, which are the same except they don't physically exist as visible files in the filesystem.

MarkR
+1  A: 

There has been in the past some attempt to use netlink sockets directly from the kernel. More recently (announced during last LPC), some people are working at getting rid of D-Bus user-space daemon and putting D-Bus in the kernel, it will probably also use sockets, but maybe revive the netlink or other approaches.

elmarco