delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2001/03/06/11:55:55

Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT sources DOT redhat DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT sources DOT redhat DOT com>
List-Help: <mailto:cygwin-help AT sources DOT redhat DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner AT sources DOT redhat DOT com
Delivered-To: mailing list cygwin AT sources DOT redhat DOT com
Message-ID: <3AA515E5.6050305@tavve.com>
Date: Tue, 06 Mar 2001 11:52:53 -0500
From: Mathew Brozowski <brozow AT tavve DOT com>
User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; m18) Gecko/20010131 Netscape6/6.01
X-Accept-Language: en
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: #define Win32_Winsock fails in 1.1.8
X-MIMETrack: Itemize by SMTP Server on hercules/Tavve(Release 5.0.6 |December 14, 2000) at
03/06/2001 11:57:14 AM,
Serialize by Router on hercules/Tavve(Release 5.0.6 |December 14, 2000) at
03/06/2001 11:57:20 AM,
Serialize complete at 03/06/2001 11:57:20 AM

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019