dbus-sysdeps-unix.h

Tor Lillqvist tml at iki.fi
Fri Sep 15 02:39:21 PDT 2006


Peter Kümmel writes:
 > Mabye sometimes there is a pipe implementation on windows, so
 > we can prepare for this now. Or is a pipe technically the same
 > as a socket, I don't know.

A pipe in the Windows C library (i.e. the things created by the pipe()
function) is a pair of file descriptors, like those returned by
open(). They are implemented as Win32 "anonymous" pipes.

Like file descriptors for disk files, pipes can be something of a pain
as there is no non-blobking I/O or select() -style mechanism for the
underlying Win32 HANDLEs. I would suggest that if somebody is planning
a higher-level abstraction, it would use a connected loopback
interface -bound TCP socket pair instead. Then you can use select() on
them, should the need arise.

There is also in Win32 thingies called "named pipes" (as opposed to
the "anonymous" ones) which are for clearly asymmetrical client-server
type use. These offer a plethora of functionality which maps rather
randomly to functionality available in way different ways on Unix, or
not.

--tml



More information about the dbus mailing list