|
From: Jeremy F. <je...@go...> - 2005-02-22 02:33:04
|
CVS commit by fitzhardinge:
SIGCONT has special properties with respect to interrupting/restarting syscalls.
The easiest thing to do is let the kernel handle it, so we do - only install
a handler for SIGCONT if the client asks for it.
M +11 -0 vg_signals.c 1.125
--- valgrind/coregrind/vg_signals.c #1.124:1.125
@@ -251,4 +251,15 @@ void calculate_SKSS_from_SCSS ( SKSS* ds
break;
+ case VKI_SIGCONT:
+ /* Let the kernel handle SIGCONT unless the client is actually
+ catching it. */
+ if (vg_scss.scss_per_sig[sig].scss_handler == VKI_SIG_DFL)
+ skss_handler = VKI_SIG_DFL;
+ else if (vg_scss.scss_per_sig[sig].scss_handler == VKI_SIG_IGN)
+ skss_handler = VKI_SIG_IGN;
+ else
+ skss_handler = vg_async_signalhandler;
+ break;
+
default:
if (sig == VKI_SIGVGKILL)
|