Fix the closure test in continuous
authorMatthias Clasen <mclasen@redhat.com>
Fri, 30 May 2014 14:21:43 +0000 (10:21 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Fri, 30 May 2014 14:22:35 +0000 (10:22 -0400)
This test has the same problem as the mapping-test - it uses
SIGUSR1 without checking the signal mask. Apply the same fix
here.

gobject/tests/closure.c

index 8c32ee4..b761825 100644 (file)
@@ -196,6 +196,18 @@ int
 main (int argc,
       char *argv[])
 {
+#ifndef G_OS_WIN32
+  sigset_t sig_mask, old_mask;
+
+  sigemptyset (&sig_mask);
+  sigaddset (&sig_mask, SIGUSR1);
+  if (sigprocmask (SIG_UNBLOCK, &sig_mask, &old_mask) == 0)
+    {
+      if (sigismember (&old_mask, SIGUSR1))
+        g_message ("SIGUSR1 was blocked, unblocking it");
+    }
+#endif
+
   g_test_init (&argc, &argv, NULL);
 
   g_test_add_func ("/closure/idle", test_closure_idle);