connect()/cygwin_select() hangs in >=1.5.15

Gerrit P. Haase gerrit@familiehaase.de
Thu May 26 07:44:00 GMT 2005


Sunil wrote:

> This piece of code hangs with cygwin1.dll >=1.5.15
> during connect(), strace is attached. The same code
> runs fine with cygwin1.dll version 1.5.13.
> 
> --------------------------------
>  fd = socket (proto->family, 1,
>        proto->stream_proto_num);
> 
>  if (fd < 0) {
>   ;
>   goto out;
>  }
> 
>  if (options & LINK_CONNECTION_NONBLOCKING) {
> # 553 "linc-connection.c"
>   if (fcntl (fd, 4, 0x4000) < 0)
>    goto out;
> 
>  }
> 
>  if (fcntl (fd, 2, 1) < 0)
>   goto out;
> 
>  { long int __result; do __result = (long int)
> (connect (fd, saddr, saddr_len)); while (__result ==
> -1L && (*__errno()) == 4); rv = __result; };
> # 596 "linc-connection.c"
>  if (rv && (*__errno()) != 119)
>   goto out;
> 
> ---------------------------
> 
> Similar problem with select() hang has been reported
> earlier but nothing came out of it. I don't know if
> its related. I am not sure why errno 119 is seen(see
> panel.log) in this case, but that and the hang are the
> common factors and strace looks similar.
> 
> http://www.cygwin.com/ml/cygwin/2005-04/msg01331.html
> 
> Above code piece is taken from linc-connection.c in
> the orbit2-2.12.2 package. This function is reached by
> the gnome-panel and it hangs inside connect() as is
> evident from the strace in panel.log and all I get is
> a blank gnome-panel.
> 
> As I said, all I have to do to get it to work is to go
> back to 1.5.13 snapshot. I am not sure what changed
> between 1.5.13 and 1.5.15 to cause this.
> 
> Thanks for looking into it.
> Sunil

There were some fixes regarding this, try a pre 1.5.17 snapshot,
please.  I currently use the one from 2005-May-20 and everything
socket related where I encountered problems works ok with that.
     http://cygwin.com/snapshots/


Gerrit
-- 
=^..^=

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list