summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/ufs/mfs/mfs_vfsops.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/sys/ufs/mfs/mfs_vfsops.c b/sys/ufs/mfs/mfs_vfsops.c
index fa4ffc3..1ea0804 100644
--- a/sys/ufs/mfs/mfs_vfsops.c
+++ b/sys/ufs/mfs/mfs_vfsops.c
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)mfs_vfsops.c 8.11 (Berkeley) 6/19/95
- * $Id: mfs_vfsops.c,v 1.51 1998/10/12 09:02:19 peter Exp $
+ * $Id: mfs_vfsops.c,v 1.52 1998/12/07 21:58:49 archie Exp $
*/
@@ -391,6 +391,16 @@ mfs_start(mp, flags, p)
register int gotsig = 0;
base = mfsp->mfs_baseoff;
+
+ /*
+ * Must set P_SYSTEM to prevent system from trying to kill
+ * this process. What happens is that the process is unkillable,
+ * and the swapper loops trying to continuously kill it. Nor
+ * can we swap out this process - not unless you want a deadlock,
+ * anyway.
+ */
+ curproc->p_flag |= P_SYSTEM;
+
while (mfsp->mfs_active) {
while (bp = bufq_first(&mfsp->buf_queue)) {
bufq_remove(&mfsp->buf_queue, bp);
OpenPOWER on IntegriCloud