diff options
-rw-r--r-- | sys/dev/vinum/vinumdaemon.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/dev/vinum/vinumdaemon.c b/sys/dev/vinum/vinumdaemon.c index 9a04a44..99c1751 100644 --- a/sys/dev/vinum/vinumdaemon.c +++ b/sys/dev/vinum/vinumdaemon.c @@ -69,7 +69,12 @@ vinum_daemon(void) int s; struct daemonq *request; - curproc->p_flag |= P_INMEM | P_SYSTEM; /* we're a system process */ + PROC_LOCK(curproc); + curproc->p_flag |= P_SYSTEM; /* we're a system process */ + PROC_UNLOCK(curproc); + mtx_enter(&sched_lock, MTX_SPIN); + curproc->p_sflag |= PS_INMEM; + mtx_exit(&sched_lock, MTX_SPIN); daemon_save_config(); /* start by saving the configuration */ daemonpid = curproc->p_pid; /* mark our territory */ while (1) { |