X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=test%2Fbin%2Fbomb.pl;h=7e9ab0aff6e63ff412a2b52b9c343dad53429939;hb=a914309eea04e44fe857d2b36728bfe90d8f63a9;hp=6e1ae1eb112edc6a5e973f0d560f824800aeadd9;hpb=69ec59f4c2747405a9d06f9a780133f3f90dda89;p=mkws-moved-to-github.git diff --git a/test/bin/bomb.pl b/test/bin/bomb.pl index 6e1ae1e..7e9ab0a 100755 --- a/test/bin/bomb.pl +++ b/test/bin/bomb.pl @@ -38,17 +38,18 @@ my @system = @ARGV; die usage if $help; die usage if !@system; -# set CPU limit, in case the alarm handler will -# be ignored -eval { - require BSD::Resource; - BSD::Resource::setrlimit( "RLIMIT_CPU", $timeout, 2 * $timeout ) - or die "Cannot set CPU limit: $!\n"; -}; -if ($@) { - warn - "WARNING: things would go more nicely with the BSD::Resource package\n"; -} +# disabled - we set the CPU limit in the wrapper ./bomb +## set CPU limit, in case the alarm handler will +## be ignored +#eval { +# require BSD::Resource; +# BSD::Resource::setrlimit( "RLIMIT_CPU", $timeout, 2 * $timeout ) +# or die "Cannot set CPU limit: $!\n"; +#}; +#if ($@) { +# warn +# "WARNING: things would go more nicely with the BSD::Resource package\n"; +#} # # configure signal handlers @@ -56,6 +57,9 @@ if ($@) { $SIG{ALRM} = sub { my $pgid = getpgrp(); + warn "Alarm handler got called after $timeout seconds\n"; + warn "Kill now the process group $pgid\n\n"; + # kill process group kill "INT", -$pgid; }; @@ -66,7 +70,6 @@ $SIG{INT} = "IGNORE"; alarm($timeout); system(@system) == 0 - or die "system('@system') failed: ?='$?', !='$!', ^E='$^E', ?='$?'"; + or die "system('@system') failed: ?='$?', !='$!', ^E='$^E'\n"; 1; -