Thread Signal PIPE wird nicht getrappt (CGI)
(18 answers)
Opened by GwenDragon at 2012-10-25 17:20
Ich habs gefunden ;-)
Er reagiert nicht, wenn er im sleep ist. Das: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 #!/usr/bin/perl $|++; use strict; use warnings; use CGI::Fast; $SIG{PIPE} = sub { open my $fh, '>>', 'debug.txt'; print $fh "Debug: " . scalar localtime . " died PIPE.\n"; close $fh; CORE::die "Pipe: @_\n"; }; while ( my $q = new CGI::Fast ) { print $q->header('text/plain'); print "output #1\n"; warn "Debug: RUNNING"; foreach my $nr(1..10000000){ print "test text $nr\n"; } print "output #2\n"; last if ( -M $ENV{'SCRIPT_FILENAME'} < 0 ); } END { open my $fh, '>>', 'debug.txt'; print $fh "Debug: END block.\n"; close $fh; } macht zumindest was zu erwarten ist. CGI: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 #!/usr/bin/perl $|++; use strict; use warnings; use CGI; $SIG{PIPE} = sub { open my $fh, '>>', 'debug_cgi.txt'; print $fh "Debug: " . scalar localtime . " died PIPE.\n"; close $fh; CORE::die "Pipe: @_\n"; }; my $q = new CGI; print $q->header('text/plain'); print "output #1\n"; warn "Debug: RUNNING"; foreach my $nr ( 1 .. 10000000 ) { print "test text $nr\n"; } print "output #2\n"; END { open my $fh, '>>', 'debug_cgi.txt'; print $fh "Debug: END block.\n"; close $fh; } klappt auch Last edited: 2012-10-26 17:19:28 +0200 (CEST) View full thread Signal PIPE wird nicht getrappt (CGI) |