signal: sigprocmask: narrow the scope of ->siglock
authorOleg Nesterov <oleg@redhat.com>
Wed, 27 Apr 2011 17:54:20 +0000 (19:54 +0200)
committerOleg Nesterov <oleg@redhat.com>
Thu, 28 Apr 2011 11:01:36 +0000 (13:01 +0200)
commit73ef4aeb61b53fce464a7e24ef03a26f98b2f617
tree15acc5d7ded643ccd1da1d502033822a2452497c
parentfec9993db093acfc3999a364e31f8adae41fcb28
signal: sigprocmask: narrow the scope of ->siglock

No functional changes, preparation to simplify the review of the next change.

1. We can read current->block lockless, nobody else can ever change this mask.

2. Calculate the resulting sigset_t outside of ->siglock into the temporary
   variable, then take ->siglock and change ->blocked.

Also, kill the stale comment about BKL.

Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Reviewed-by: Matt Fleming <matt.fleming@linux.intel.com>
Acked-by: Tejun Heo <tj@kernel.org>
kernel/signal.c