Commit e099b507 authored by Paolo \'Blaisorblade\' Giarrusso's avatar Paolo \'Blaisorblade\' Giarrusso Committed by Linus Torvalds

[PATCH] uml: remove SIGPROF from change_signals

From: Paolo 'Blaisorblade' Giarrusso <blaisorblade_spam@yahoo.it>
      Jeff Dike <jdike@addtoit.com>

Since local_irq_save() and local_irq_disable() should match (apart from saving
the flags), get/set_signals must match [un]block_signals, i.e. 
change_signals; since get/set_signals don't enable/disable SIGPROF (and this
behaviour is safe as explained in the comment the patch adds, since the
profiling code does not interact with the kernel code), not even
change_signals must toggle it.
Signed-off-by: default avatarPaolo 'Blaisorblade' Giarrusso <blaisorblade_spam@yahoo.it>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 40568ac8
......@@ -57,6 +57,10 @@ int change_sig(int signal, int on)
return(!sigismember(&old, signal));
}
/* Both here and in set/get_signal we don't touch SIGPROF, because we must not
* disable profiling; it's safe because the profiling code does not interact
* with the kernel code at all.*/
static void change_signals(int type)
{
sigset_t mask;
......@@ -65,7 +69,6 @@ static void change_signals(int type)
sigaddset(&mask, SIGVTALRM);
sigaddset(&mask, SIGALRM);
sigaddset(&mask, SIGIO);
sigaddset(&mask, SIGPROF);
if(sigprocmask(type, &mask, NULL) < 0)
panic("Failed to change signal mask - errno = %d", errno);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment