Make sigblocking tests more independent
authorLeon Timmermans <fawaka@gmail.com>
Sun, 29 May 2011 10:59:49 +0000 (12:59 +0200)
committerCraig A. Berry <craigberry@mac.com>
Sun, 29 May 2011 17:49:23 +0000 (12:49 -0500)
On VMS, there seems to be a bug when using sigprocmask after sigsuspend.
This patch prevents that failure from cascading to the next couple of
tests.

t/op/sigdispatch.t

index aa8a6c7..d36c357 100644 (file)
@@ -72,14 +72,11 @@ TODO:
            }
        }
 
-TODO:
-    {
-       local $::TODO = "Needs investigation" if $^O eq 'VMS';
-       kill SIGUSR1, $$;
-       is $gotit, 1, 'Haven\'t received fifth signal yet';
-       POSIX::sigprocmask(&POSIX::SIG_UNBLOCK, $new, $old);
-       ok $old->ismember(&POSIX::SIGUSR1), 'SIGUSR1 was still blocked';
-    }
+    POSIX::sigprocmask(&POSIX::SIG_BLOCK, $new);
+    kill SIGUSR1, $$;
+    is $gotit, 1, 'Haven\'t received fifth signal yet';
+    POSIX::sigprocmask(&POSIX::SIG_UNBLOCK, $new, $old);
+    ok $old->ismember(&POSIX::SIGUSR1), 'SIGUSR1 was still blocked';
     is $gotit, 2, 'Received fifth signal';
 
     # test unsafe signal handlers in combination with exceptions