… | |
… | |
33 | use AnyEvent::Socket (); |
33 | use AnyEvent::Socket (); |
34 | use AnyEvent::DNS (); |
34 | use AnyEvent::DNS (); |
35 | |
35 | |
36 | use Compress::LZF; |
36 | use Compress::LZF; |
37 | use JSON::XS; |
37 | use JSON::XS; |
|
|
38 | use Urlader; |
38 | |
39 | |
39 | use DC; |
40 | use DC; |
40 | |
41 | |
41 | sub crash($;$) { |
42 | sub crash($;$) { |
42 | # nop at compiletime |
43 | # nop at compiletime |
… | |
… | |
44 | |
45 | |
45 | BEGIN { |
46 | BEGIN { |
46 | $SIG{__DIE__} = sub { |
47 | $SIG{__DIE__} = sub { |
47 | return if $^S; # quick reject |
48 | return if $^S; # quick reject |
48 | |
49 | |
49 | # return if there are any eval contexts in the csall stack |
50 | # return if there are any eval contexts in the call stack |
50 | for my $i (0..999) { |
51 | for my $i (0..999) { |
51 | my ($sub, $is_require) = (caller $i)[3, 7] |
52 | my ($sub, $is_require) = (caller $i)[3, 7] |
52 | or last; |
53 | or last; |
53 | return if $sub eq "(eval)" && !$is_require; |
54 | return if $sub eq "(eval)" && !$is_require; |
54 | } |
55 | } |