summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>1998-12-24 12:07:16 +0000
committerbde <bde@FreeBSD.org>1998-12-24 12:07:16 +0000
commit85c558753b403c3fd475a049769a1068c9d6ba7b (patch)
treef0343bf5dc615f9ccbea71b3e6de7e2ad60a224d /sys
parent20e32654dd0cb3b2d071403e2e8ed5ae1478956e (diff)
downloadFreeBSD-src-85c558753b403c3fd475a049769a1068c9d6ba7b.zip
FreeBSD-src-85c558753b403c3fd475a049769a1068c9d6ba7b.tar.gz
Restored rev.1.31 which was clobbered by rev.1.69 (the big Lite2
merge). This fixes at least hanging in revoke(2) when a somewhat active slave pty is revoked. The hang made the window for the null pointer bug in ufsspec_{read,write} much larger. There are many other bugs in this area (revoke of an active fifo at best leaks memory...).
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/vfs_export.c5
-rw-r--r--sys/kern/vfs_subr.c5
2 files changed, 6 insertions, 4 deletions
diff --git a/sys/kern/vfs_export.c b/sys/kern/vfs_export.c
index 985b9c6..2be30f2 100644
--- a/sys/kern/vfs_export.c
+++ b/sys/kern/vfs_export.c
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)vfs_subr.c 8.31 (Berkeley) 5/26/95
- * $Id: vfs_subr.c,v 1.175 1998/12/21 23:38:33 eivind Exp $
+ * $Id: vfs_subr.c,v 1.176 1998/12/22 00:44:11 eivind Exp $
*/
/*
@@ -47,6 +47,7 @@
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/conf.h>
+#include <sys/fcntl.h>
#include <sys/kernel.h>
#include <sys/proc.h>
#include <sys/malloc.h>
@@ -1583,7 +1584,7 @@ vclean(vp, flags, p)
*/
if (active) {
if (flags & DOCLOSE)
- VOP_CLOSE(vp, IO_NDELAY, NOCRED, p);
+ VOP_CLOSE(vp, FNONBLOCK, NOCRED, p);
VOP_INACTIVE(vp, p);
} else {
/*
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c
index 985b9c6..2be30f2 100644
--- a/sys/kern/vfs_subr.c
+++ b/sys/kern/vfs_subr.c
@@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)vfs_subr.c 8.31 (Berkeley) 5/26/95
- * $Id: vfs_subr.c,v 1.175 1998/12/21 23:38:33 eivind Exp $
+ * $Id: vfs_subr.c,v 1.176 1998/12/22 00:44:11 eivind Exp $
*/
/*
@@ -47,6 +47,7 @@
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/conf.h>
+#include <sys/fcntl.h>
#include <sys/kernel.h>
#include <sys/proc.h>
#include <sys/malloc.h>
@@ -1583,7 +1584,7 @@ vclean(vp, flags, p)
*/
if (active) {
if (flags & DOCLOSE)
- VOP_CLOSE(vp, IO_NDELAY, NOCRED, p);
+ VOP_CLOSE(vp, FNONBLOCK, NOCRED, p);
VOP_INACTIVE(vp, p);
} else {
/*
OpenPOWER on IntegriCloud