Fwd: moving file descriptor passing into a header

James McKaskill jmckaskill at gmail.com
Tue Apr 13 16:03:44 PDT 2010


I missed the reply to all button.

> This is about passing any kind of fds (files, sockets of all kinds,
> device handles, fs fifosq, socketpair(), pipe(), inotify(), epoll() --
> whatever kind of fd your OS supports) . And yes, this is not portable
> beyond Unix. That's why the type is called DBUS_TYPE_UNIX_FD, not
> DBUS_TYPE_FILE or so.

I can understand wanting to transfer a pipe or a socket across as a
means of transferring data out of band (and if that is all, then you
can do this easily via a similar mechanism as ftp passive - give an
address that remote should connect to). But seriously the other random
types as well? Is there actually any requirement for these?

Up until now dbus messages have just been straight binary blobs. This
is advantageous for a number of reasons (os agnostic, works between
disparate systems, can be memcpy, serialised to file etc). IIMHO that
is a _very_ handy feature, and shouldn't be removed without serious
thought. If I may be so blunt transferring fds like this directly
feels like a hack that is bending the protocol to fit a particular
language's interface, doesn't fit in with the protocol, and is just
going to cause more trouble than its worth.


James


More information about the dbus mailing list