- (stevesk) nchan.c: remove ostate checks and add EINVAL to
     shutdown(SHUT_RD) error() bypass for HP-UX.
diff --git a/ChangeLog b/ChangeLog
index a9e993d..2211ac3 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 d91217e..77e4ef4 100644
--- a/nchan.c
+++ b/nchan.c
@@ -489,11 +489,10 @@
 		/*
 		 * 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 {