summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--nchan.c5
2 files changed, 5 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index a9e993d4..2211ac3d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,6 +6,8 @@
- stevesk@cvs.openbsd.org 2001/04/02 14:20:23
[readconf.c servconf.c]
correct comment; ok markus@
+ - (stevesk) nchan.c: remove ostate checks and add EINVAL to
+ shutdown(SHUT_RD) error() bypass for HP-UX.
20010402
- (stevesk) log.c openbsd sync; missing newlines
@@ -4805,4 +4807,4 @@
- Wrote replacements for strlcpy and mkdtemp
- Released 1.0pre1
-$Id: ChangeLog,v 1.1046 2001/04/02 18:20:03 mouring Exp $
+$Id: ChangeLog,v 1.1047 2001/04/03 13:02:48 stevesk Exp $
diff --git a/nchan.c b/nchan.c
index d91217e5..77e4ef48 100644
--- a/nchan.c
+++ b/nchan.c
@@ -489,11 +489,10 @@ chan_shutdown_read(Channel *c)
/*
* shutdown(sock, SHUT_READ) may return ENOTCONN if the
* write side has been closed already. (bug on Linux)
+ * HP-UX will return EINVAL.
*/
if (shutdown(c->sock, SHUT_RD) < 0
- && (errno != ENOTCONN
- || c->ostate == CHAN_OUTPUT_OPEN
- || c->ostate == CHAN_OUTPUT_WAIT_DRAIN))
+ && (errno != ENOTCONN && errno != EINVAL))
error("channel %d: chan_shutdown_read: shutdown() failed for fd%d [i%d o%d]: %.100s",
c->self, c->sock, c->istate, c->ostate, strerror(errno));
} else {