]> git.neil.brown.name Git - history.git/commit
[PATCH] do_sigaction locking cleanup
authorRoland McGrath <roland@redhat.com>
Fri, 7 Feb 2003 00:22:30 +0000 (16:22 -0800)
committerLinus Torvalds <torvalds@home.transmeta.com>
Fri, 7 Feb 2003 00:22:30 +0000 (16:22 -0800)
commit530a7dbc7f10903f83ddf624142c3a8400435b0a
tree009948ab9585df6dfe865873cbdf5a0191cfc003
parent9e549588fdff1d6e6319e2778e921b5b70148836
[PATCH] do_sigaction locking cleanup

This changes do_sigaction to avoid read_lock(&tasklist_lock) on every
call.  Only in the fairly uncommon cases where it's really needed will
it take that lock (which requires unlocking and relocking the siglock
for locking order).

I also changed the ERESTARTSYS added in my earlier patch to ERESTARTNOINTR.
That is an "instantaneous" case, and there is no reason to have it possibly
return EINTR if !SA_RESTART (which AFAIK sigaction never could before, and
it might not be kosher by POSIX); rollback is always better.
kernel/signal.c