From: Simon McVittie Date: Fri, 20 Feb 2015 16:01:09 +0000 (+0000) Subject: test_init: convert SIGALRM into SIGABRT so we leave a core dump on timeout X-Git-Tag: dbus-1.9.14~5 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=909762fd08169a600fa0b30094cc99c9ca617089;p=thirdparty%2Fdbus.git test_init: convert SIGALRM into SIGABRT so we leave a core dump on timeout Bug: https://bugs.freedesktop.org/show_bug.cgi?id=89222 Reviewed-by: Philip Withnall --- diff --git a/test/test-utils-glib.c b/test/test-utils-glib.c index 6cffcb216..609f24e82 100644 --- a/test/test-utils-glib.c +++ b/test/test-utils-glib.c @@ -393,6 +393,14 @@ time_out (gpointer data) return FALSE; } +#ifdef G_OS_UNIX +static void +wrap_abort (int signal) +{ + abort (); +} +#endif + void test_init (int *argcp, char ***argvp) { @@ -409,5 +417,14 @@ test_init (int *argcp, char ***argvp) /* The GLib main loop might not be running (we don't use it in every * test). Die with SIGALRM shortly after if necessary. */ alarm (TIMEOUT + 10); + + /* Get a core dump from the SIGALRM. */ + { + struct sigaction act = { }; + + act.sa_handler = wrap_abort; + + sigaction (SIGALRM, &act, NULL); + } #endif }