Passing file descriptors over a socket

From: Charles Wilson <cygwin at cwilson dot fastmail dot fm>

To: Cygwin Mailing List <cygwin at cygwin dot com>

Date: Wed, 14 Oct 2009 00:31:04 -0400

Subject: Passing file descriptors over a socket

I was trying to build libassuan (one of the prerequisites for GnuPG2),
and ran in to this problem on the test:
fdpassing[4844.4] DBG: -> OK Pleased to meet you
fdpassing[4844.4] DBG: <- # descriptor 4 is in flight
fdpassing[4844.4] DBG: <- INPUT FD
fdpassing[4844]: no pending file descriptors!
fdpassing[4844.4] DBG: -> ERR 101 server fault (general error)
fdpassing[2068]: sending INPUT FD failed: server fault
fdpassing[4844.4] DBG: <- BYE
fdpassing[4844.4] DBG: -> OK closing connection
FAIL: fdpassing.exe
I get this error in cygwin-1.7, and I have CYGWIN=server, and the
cygserver is installed and running.
After a bit of googling:
http://cygwin.com/ml/cygwin/2007-01/msg00693.html
> This test could be trying to do something that cygwin doesn't support:
http://sources.redhat.com/ml/cygwin/2004-01/msg00060.html
>> can [cygwin] pass file descriptors over unix sockets (streams) so
>> that a process can share its file descriptors with another?
> Nope. Sorry
So, since I'm not sure if things may have changed in this respect in
cygwin-1.7, I'll restate the OPs question:
Can [cygwin-1.7] pass file descriptors over unix sockets (streams) so
that a process can share its file descriptors with another?
If not, what sort of "not" is it? (a) possible, but nobody has had the
time or inclination to implement (b) not possible on win32 (c) possible,
but REALLY hard -- case (a) on steroids.
--
Chuck
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple