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/