This is the mail archive of the
mailing list for the Cygwin project.
Re: cvs broken on win2k after recent cygwin upgrade: "The descriptor is a file, not a socket"
On Sun, Apr 15, 2001 at 09:22:58AM +0100, Henry S. Thompson wrote:
> Thanks for the observations. Seems to me to confirm Corinna's
> original belief that somehow Cygwin is getting the wrong WINSOCK
> library, even though the right one is available.
Yes. It seems that Cygwin is getting the wrong file handle from winsock.
Why would Cygwin get a file when it requests a socket from MS winsock?
That is beyond my understanding. I can dig a little deeper:
The message "The descriptor is a file. not a socket" is a Cygwin error
message from src/winsup/cygwin/errno.cc as far as I can tell.
The evidence is a code fragment from that routine:
error = "The descriptor is a file, not a socket";
Cygwin itself detected a non-socket and then printed that error message.
Winsock did not print that error message on your screen.
It appears that a Cygwin function just returned a file descriptor instead
of a socket, or that it mistook the socket as a file descriptor. Could it
be possible that winsock actually returned a socket but the socket was
mistaken as a file descriptor? That is beyond my understanding.
However, this anomaly manifested itself only when a non-MS dialup networking
program was running (in my case). The non-MS dialup software was causing
problem to Cygwin only --- Windows telnet/ftp was not being affected at
The non-MS dialup software has since been removed from my computer. I can no
longer reproduce that same problem.
If you know C and C++, would you be able to debug it? (since you can reproduce
the problem). You are the only person that can provide more information.
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple