Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin AT sources DOT redhat DOT com Subject: #define Win32_Winsock fails in 1.1.8 To: cygwin AT cygwin DOT com X-Mailer: Lotus Notes Release 5.0.6 December 14, 2000 Message-ID: From: Matt DOT Brozowski AT tavve DOT com Date: Tue, 6 Mar 2001 10:00:12 -0500 X-MIMETrack: Serialize by Router on hercules/Tavve(Release 5.0.6 |December 14, 2000) at 03/06/2001 03:57:35 PM MIME-Version: 1.0 Content-type: text/plain; charset=us-ascii 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 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 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