develooper Front page | perl.perl5.porters | Postings from April 2011

Re: Smoke [5.13.11] v5.13.11-190-g5da6b59 FAIL(F) openbsd 4.8(i386/1 cpu)

Thread Previous | Thread Next
From:
Dave Mitchell
Date:
April 12, 2011 14:13
Subject:
Re: Smoke [5.13.11] v5.13.11-190-g5da6b59 FAIL(F) openbsd 4.8(i386/1 cpu)
Message ID:
20110412211349.GC2875@iabyn.com
On Fri, Mar 25, 2011 at 08:49:15PM +0100, Steven Schubiger wrote:
> Craig A. Berry <craig.a.berry@gmail.com> wrote:
> > Got any details on that?  Any chance it was caused by something recent
> > from this list:
> 
> http://refcnt.homeunix.org/smoke/p5openbsd/511x/log5da6b59a91ad9679bcad4cba7615c78cd63d09f8.log
> 
> $ ./perl -MTestInit t/op/sigdispatch.t            
> 1..15
> ok 1 - before the first loop
> ok 2 - after the first loop
> ok 3 - before the second loop
> ok 4 - after the second loop
> ok 5 - Haven't received third signal yet
> # Test process timed out - terminating
> Killed 
> $

This test has been hanging the test script on openbsd and mirbsd
since it was added with commit 0c1bf4c7d433bb0ad80bfe5511b1301db32b7b95.

The test in question does:

    require POSIX;
    my $new = POSIX::SigSet->new(&POSIX::SIGUSR1);
    POSIX::sigprocmask(&POSIX::SIG_BLOCK, $new);
    
    my $gotit = 0;
    $SIG{USR1} = sub { $gotit++ };
    kill SIGUSR1, $$;
    is $gotit, 0, 'Haven\'t received third signal yet';
    
    my $old = POSIX::SigSet->new();
    POSIX::sigsuspend($old); <=== HANGS HERE

so somehow the signal gets lost rather than just being temporarily blocked.
Does anyone with *bsd access have any further insights?


-- 
A power surge on the Bridge is rapidly and correctly diagnosed as a faulty
capacitor by the highly-trained and competent engineering staff.
    -- Things That Never Happen in "Star Trek" #9

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About