diff options
author | alfred <alfred@FreeBSD.org> | 2003-11-10 20:39:44 +0000 |
---|---|---|
committer | alfred <alfred@FreeBSD.org> | 2003-11-10 20:39:44 +0000 |
commit | 8837bee815c3aa0e4c60b5482a49ef2c3d0ed6ba (patch) | |
tree | 59fd8bd248d775347c2a795d9d217c49da2ca061 /sys | |
parent | 8d20ae93240d70327589e9c677082a5c244350b3 (diff) | |
download | FreeBSD-src-8837bee815c3aa0e4c60b5482a49ef2c3d0ed6ba.zip FreeBSD-src-8837bee815c3aa0e4c60b5482a49ef2c3d0ed6ba.tar.gz |
Fix a bug where the taskqueue kproc was being parented by init
because RFNOWAIT was being passed to kproc_create.
The result was that shutdown took quite a bit longer because this
errant "child" would not respond to termination signals from init
at system shutdown.
RFNOWAIT dissassociates itself from the caller by attaching to init
as a parent proc. We could have had the taskqueue proc listen for
SIGKILL, but being able to SIGKILL a potentially critical system
process doesn't seem like a good idea.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/kern/subr_taskqueue.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/subr_taskqueue.c b/sys/kern/subr_taskqueue.c index 126f561..f5c74c2 100644 --- a/sys/kern/subr_taskqueue.c +++ b/sys/kern/subr_taskqueue.c @@ -271,7 +271,7 @@ TASKQUEUE_DEFINE(swi_giant, taskqueue_swi_giant_enqueue, 0, TASKQUEUE_DEFINE(thread, taskqueue_thread_enqueue, 0, kthread_create(taskqueue_kthread, NULL, - &taskqueue_thread_proc, RFNOWAIT, 0, "taskqueue")); + &taskqueue_thread_proc, 0, 0, "taskqueue")); int taskqueue_enqueue_fast(struct taskqueue *queue, struct task *task) |