- markus@cvs.openbsd.org 2001/07/17 21:04:58
     [channels.c channels.h clientloop.c nchan.c serverloop.c]
     keep track of both maxfd and the size of the malloc'ed fdsets.
     update maxfd if maxfd gets closed.
diff --git a/nchan.c b/nchan.c
index 8e1be2d..43d80bf 100644
--- a/nchan.c
+++ b/nchan.c
@@ -23,7 +23,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: nchan.c,v 1.30 2001/06/25 08:25:38 markus Exp $");
+RCSID("$OpenBSD: nchan.c,v 1.31 2001/07/17 21:04:57 markus Exp $");
 
 #include "ssh1.h"
 #include "ssh2.h"
@@ -518,11 +518,10 @@
 			    "shutdown() failed for fd%d: %.100s",
 			    c->self, c->sock, strerror(errno));
 	} else {
-		if (close(c->wfd) < 0)
+		if (channel_close_fd(&c->wfd) < 0)
 			log("channel %d: chan_shutdown_write: "
 			    "close() failed for fd%d: %.100s",
 			    c->self, c->wfd, strerror(errno));
-		c->wfd = -1;
 	}
 }
 static void
@@ -544,10 +543,9 @@
 			    c->self, c->sock, c->istate, c->ostate,
                             strerror(errno));
 	} else {
-		if (close(c->rfd) < 0)
+		if (channel_close_fd(&c->rfd) < 0)
 			log("channel %d: chan_shutdown_read: "
 			    "close() failed for fd%d: %.100s",
 			    c->self, c->rfd, strerror(errno));
-		c->rfd = -1;
 	}
 }