Hi! I think the patch speaks for myself.
diff -ur3 pth-1.4.1.old/pth_high.c pth-1.4.1/pth_high.c --- pth-1.4.1.old/pth_high.c Sun Jan 27 16:14:36 2002 +++ pth-1.4.1/pth_high.c Mon Jul 29 12:38:00 2002 @@ -496,7 +496,7 @@ errno_shield { pth_fdmode(s, fdmode); } /* if it is still on progress wait until socket is really writeable */ - if (rv == -1 && errno == EINPROGRESS && fdmode != PTH_FDMODE_NONBLOCK) { + if (rv == -1 && errno == EINPROGRESS && fdmode == PTH_FDMODE_NONBLOCK) { ev = pth_event(PTH_EVENT_FD|PTH_UNTIL_FD_WRITEABLE|PTH_MODE_STATIC, &ev_key, s); if (ev_extra != NULL) pth_event_concat(ev, ev_extra, NULL);