system() with timeout

Nicholas Clark nick at ccl4.org
Fri Apr 17 13:42:17 BST 2009


On Fri, Apr 17, 2009 at 11:25:54AM +0100, Matt Lawrence wrote:
> Nicholas Clark wrote:
> >On Fri, Apr 17, 2009 at 09:24:01AM +0100, Matt Lawrence wrote:
> >
> >  
> >>I recently discovered that die() inside a signal handler causes a memory 
> >>leak. I don't know if that would be a problem for you in this case.
> >>    
> >
> >Hmm, that's not good. Have you been able to nail it down sufficiently to 
> >make
> >a bug report?
> >  
> 
> I saw reference to it on the interweb, so assumed it was known about.

You believe everything you read on the Internet? :-)

> This is the closest thing I have to a proof:
> 
> #!/usr/bin/perl
> 
> while (1) {
>    eval {
>        local $SIG{USR1} = sub { die "USER 1!!" };
>        kill USR1 => $$;
>    };
> }
> __END__

> I haven't had a chance to test any of this on the latest perl, 5.8.8 is 
> the latest I've tried it with.

I have a suspicion that it's a problem under ithreads, but not without.

Could you send in a bug report, with a -V please?

Nicholas Clark


More information about the london.pm mailing list