Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <035601c2dc37$dd623cb0$c67486d9@webdev> From: "Elfyn McBratney" To: "cygwin" , "Eric Mandel" References: <200302241846 DOT h1OIkcN18248 AT head-cfa DOT cfa DOT harvard DOT edu> Subject: Re: connect() not interrupted by sigalrm? Date: Mon, 24 Feb 2003 19:05:30 -0000 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 > Thanks for your prompt response: > > > Cockpit error. You left out a few headers. > > - string.h is needed for memset() > > - unistd.h is needed for alarm() > > - arpa/inet.h is needed for inet_addr() > > > > After that it works fine. > > The addition of these include files does make gcc -Wall happier, but > it not change the behavior of the program at run-time. Under Cygwin on > my XP box, it still waits many seconds for the connect() to timeout > and then returns with a "Connection timed out" error, instead of > returning after the 2 second alarm with the desired "Interrupted > system call" error. I believe I have found the problem. In order for your program to work as expected you will need SA_INTERRUPT , which is not defined in /usr/include/sys/signal.h . So it just laggs until it gets to the "Network unreachable" error. I'm not to sure the reason why it's not there (?). Regards, Elfyn McBratney elfyn AT exposure DOT org DOT uk www.exposure.org.uk -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/