Cygwin: Pass file paths instead of file descriptors over UNIX sockets
authorChristian Babeux <christian.babeux@efficios.com>
Wed, 28 Nov 2012 21:28:22 +0000 (16:28 -0500)
committerChristian Babeux <christian.babeux@efficios.com>
Wed, 28 Nov 2012 21:35:20 +0000 (16:35 -0500)
Cygwin doesn't support file descriptors passing over UNIX sockets [1].
LTTng-ust and LTTng-tools make extensive use of this feature to pass
the shm and the wakeup pipe file descriptor from the userspace tracer
to the session daemon. The sessiond then pass those file descriptors
to the consumer.

To workaround this limitation, we pass the file paths of the shm and the
named wakeup pipe. These paths are relayed by the sessiond to the
consumer. The consumer then needs to open these paths.

The files are created in /tmp/lttng-fds and have the following format:

SHM         : ust-shm-<pid>-<uuid>
Wakeup pipe : ust-wait-<pid>-<uuid>

The libringbuffer has been modified to automatically create these files
on shm creation. Take note that the shm path is actually a symlink
to the shm in /dev/shm. Also, this change introduce an additional dependency
to libuuid in libringbuffer.

[1] - http://cygwin.com/ml/cygwin/2009-10/msg00403.html


No differences found
This page took 0.025061 seconds and 4 git commands to generate.