diff --git a/ChangeLog b/ChangeLog index a9e993d46..2211ac3d6 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 d91217e54..77e4ef486 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 {