Check-in Number:
|
1661 | |
Date: |
2002-Jan-27 13:39:10 (local)
2002-Jan-27 12:39:10 (UTC) |
User: | rse |
Branch: | |
Comment: |
Correctly support PTH_FDMODE_NONBLOCK in pth_connect and pth_accept.
Submitted by: Archie Cobbs <archie@packetdesign.com> |
Tickets: |
|
Inspections: |
|
Files: |
|
ossp-pkg/pth/ChangeLog 1.555 -> 1.556
--- ChangeLog 2002/01/27 12:34:29 1.555
+++ ChangeLog 2002/01/27 12:39:10 1.556
@@ -21,6 +21,9 @@
Changes between 1.4.0 and 1.4.1 (24-Mar-2001 to 27-Jan-2002)
+ *) Correctly support PTH_FDMODE_NONBLOCK in pth_connect and pth_accept.
+ [Archie Cobbs <archie@packetdesign.com>]
+
*) Fixed typos in manual page.
[Michael Schloh v. Bennewitz <michael.schloh@de.cw.net>,
Takashi Ishihara <tishihara@ucdavis.edu>]
|
|
ossp-pkg/pth/THANKS 1.82 -> 1.83
--- THANKS 2001/11/30 12:40:31 1.82
+++ THANKS 2002/01/27 12:39:10 1.83
@@ -1,4 +1,4 @@
- ____ _ _
+
| _ \| |_| |__ ``There is enough for the need of
| |_) | __| '_ \ everyone in this world, but not
| __/| |_| | | | for the greed of everyone.''
@@ -22,6 +22,7 @@
o Edwin Brown <Edwin.Brown@sdrc.com>
o Dan Buckler <buckler@sco.com>
o Mark Burton <markb@ordern.com>
+ o Archie Cobbs <archie@packetdesign.com>
o Jon Cook <cookj@cs.man.ac.uk>
o Philippe Defert <Philippe.Defert@cern.ch>
o David Dureau <david.dureau@cea.fr>
|
|
ossp-pkg/pth/pth_high.c 1.81 -> 1.82
--- pth_high.c 2002/01/27 11:03:40 1.81
+++ pth_high.c 2002/01/27 12:39:10 1.82
@@ -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) {
+ 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);
@@ -541,7 +541,8 @@
/* poll socket via accept */
ev = NULL;
while ((rv = pth_sc(accept)(s, addr, addrlen)) == -1
- && (errno == EAGAIN || errno == EWOULDBLOCK)) {
+ && (errno == EAGAIN || errno == EWOULDBLOCK)
+ && fdmode != PTH_FDMODE_NONBLOCK) {
/* do lazy event allocation */
if (ev == NULL) {
ev = pth_event(PTH_EVENT_FD|PTH_UNTIL_FD_READABLE|PTH_MODE_STATIC, &ev_key, s);
|
|