I hope this is the right mailing list for this.
I am in the process of trying to migrate my application from Cygwin 1.0
to Cygwin 1.1.8. My application uses Windows sockets and select and
uses #define Win32_Winsock and #include <windows.h> at the top of the
source file as mentioned in the FAQ. This works fine in Cygwin 1.0 but
I notice I get select errors when recompiling and then running it with
Cygwin 1.1.8. After debugging it I found that 1.1.8 is failing to use
the Windows style fd_set defined in winsock.h but rather is using the
one from sys/types.h which it shouldn't be. (This can be easily seen in
the debugger.)
After doing a little investigation I determined that the bug was
introduced when #include <sys/reent.h> was added to
/usr/include/string.h. This causes string.h to recursively cause
sys/types.h to be included before winsock.h has a chance to be included.
Therefore the wrong fd_set is used. The unfortunate ting about this
bug is that everything compiles fine it is only a runtime that this bug
appears.
It's not really clear to me what an appropriate fix would be other than
removing sys/reent.h from string.h. Does anyone have any ideas and can
it be put on the fixes to do list.
Matt Brozowski
Tavve Software Company
--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple