Passing epoll file descriptors across Unix domain sockets

From: Michael Kerrisk
Date: Fri Feb 29 2008 - 11:30:26 EST


Hi Davide,

After all of the recent discussions about epoll, I've been reviewing
other parts of the epoll.7 man page. In that page there is the
following:

Q5 Can I send the epoll file descriptor over a Unix
domain socket to another process?

A5 No.

This does not seem accurate. I can understand that it makes no sense
to pass a an epoll file descriptor over a Unix domain socket, because
the receiving process does not have the file descriptors that are in
the epoll set.

However, it is indeed possible (no errors result) to pass an epoll fd
over a Unix doman socket using SCM_RIGHTS. (I have just now tested
this.)

Can you clarify? I suspect the text should really read:

Q5 Can I send an epoll file descriptor over a Unix
domain socket to another process?

A5 Yes, but it does not make sense to do this, since the
receiving process would not have copies of the file
descriptors in the epoll set.

Does that seem okay?

Cheers,

Michael

--
Michael Kerrisk
Maintainer of the Linux man-pages project
http://www.kernel.org/doc/man-pages/
Want to report a man-pages bug? Look here:
http://www.kernel.org/doc/man-pages/reporting_bugs.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/