|< 1 2 3 4 5 >| | 41 Einträge, 5 Seiten |
1
2
3
4
5
6
7
8
9
10
11
12
13
eval {
local $SIG{ALRM} = sub { die "alarm\n" }; # NB: \n required
alarm $timeout;
$nread = sysread SOCKET, $buffer, $size;
alarm 0;
};
if ($@) {
die unless $@ eq "alarm\n"; # propagate unexpected errors
# timed out
}
else {
# didn't
}
die "irgendwas"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
use constant TIMEOUT => 15; # Sekunden, nach der eine Regel abgeschossen wird.
...
my @allmatch;
my ($m1, $m2, $m3);
eval {
local $SIG{ALRM} = sub { die "alarm\n" }; # NB: \n required
alarm TIMEOUT;
@allmatch = $ts =~ $composite->data()->[$i]->{re};
($m1, $m2, $m3) = ($`, $&, $');
alarm 0;
};
if ($@) {
die "Matcherror: $@\n" unless $@ eq "alarm\n"; # propagate unexpected errors
# Markieren, dass dieser Satz wegen timeout nicht vollständig bearbeitet ist!
warn "ABBRUCH WEGEN ZEITUEBERSCHREITUNG (Regel $regelname)\n";
next SENTENCE;
}
...
perl -le '$SIG{ALRM}=sub {print "abgebrochen"};alarm(2); "" =~ m/(?{{sleep 3}})/'
|< 1 2 3 4 5 >| | 41 Einträge, 5 Seiten |