[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: valgrind/coregrind
From: Jeremy Fitzhardinge <jeremy () goop ! org>
Date: 2005-03-12 0:23:56
Message-ID: 20050312002356.C24EAEED3 () office ! kde ! org
[Download RAW message or body]
CVS commit by fitzhardinge:
For signals which are ignored by default (SIGCONT, CHLD, WINCH and URG),
don't set a signal handler unless the client has. This prevents syscalls
from being spuriously interrupted if one if these signals is received.
BUGS: 101313
M +9 -2 vg_signals.c 1.139
--- valgrind/coregrind/vg_signals.c #1.138:1.139
@@ -252,6 +252,11 @@ void calculate_SKSS_from_SCSS ( SKSS* ds
case VKI_SIGCONT:
- /* Let the kernel handle SIGCONT unless the client is actually
- catching it. */
+ case VKI_SIGCHLD:
+ case VKI_SIGWINCH:
+ case VKI_SIGURG:
+ /* For signals which are have a default action of Ignore,
+ only set a handler if the client has set a signal handler.
+ Otherwise the kernel will interrupt a syscall which
+ wouldn't have otherwise been interrupted. */
if (vg_scss.scss_per_sig[sig].scss_handler == VKI_SIG_DFL)
skss_handler = VKI_SIG_DFL;
@@ -263,4 +268,6 @@ void calculate_SKSS_from_SCSS ( SKSS* ds
default:
+ /* VKI_SIGVG* are runtime variables, so we can't make them
+ switch cases */
if (sig == VKI_SIGVGKILL)
skss_handler = sigvgkill_handler;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic