diff options
| author | Linus Torvalds <torvalds@penguin.transmeta.com> | 2003-02-10 22:58:04 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.transmeta.com> | 2003-02-10 22:58:04 -0800 |
| commit | 43fea1be12abf52dc12a61eef6059beed55c2df8 (patch) | |
| tree | 61be163e2e6f5367fc61d76f8bcabde48a2acc24 /drivers/block/loop.c | |
| parent | f0bec55fe38773d2022f1b585067a7a773942769 (diff) | |
Sanitize kernel daemon signal handling and process naming.
Add a name argument to daemonize() (va_arg) to avoid all the
kernel threads having to duplicate the name setting over and
over again.
Make daemonize() disable all signals by default, and add a
"allow_signal()" function to let daemons say they explicitly
want to support a signal.
Make flush_signal() take the signal lock, so that callers do
not need to.
Diffstat (limited to 'drivers/block/loop.c')
| -rw-r--r-- | drivers/block/loop.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/drivers/block/loop.c b/drivers/block/loop.c index 71ae15a0c6fd..85636a00c3c6 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -577,18 +577,12 @@ static int loop_thread(void *data) struct loop_device *lo = data; struct bio *bio; - daemonize(); + daemonize("loop%d", lo->lo_number); - sprintf(current->comm, "loop%d", lo->lo_number); current->flags |= PF_IOTHREAD; /* loop can be used in an encrypted device hence, it mustn't be stopped at all because it could be indirectly used during suspension */ - spin_lock_irq(¤t->sighand->siglock); - sigfillset(¤t->blocked); - flush_signals(current); - spin_unlock_irq(¤t->sighand->siglock); - set_user_nice(current, -20); lo->lo_state = Lo_bound; |
