Thread Problem mit Filehandle im END Block
(8 answers)
Opened by PROXEN at 2014-08-04 20:23
Hallo,
mit folgendem Code möchte ich bestimmte Sachen in ein File loggen. Mit select LOGFILE oder select STDOUT möchte ich umschalten um nicht alles loggen zu müssen. Wenn ich jetzt aber das Programm bei der Pause mit STRG+C abbreche funktioniert das LOGGEN ins File nicht mehr und ich weiß nicht warum. Läuft das Programm durch wird alles gelogged. thx proxen 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 $SIG{INT} = \&interrupt; open LOGFILE, "|-", "tee some_file.out"; LOGFILE->autoflush(1); select LOGFILE; print "fileconsole!\n"; print "pause\n"; my $in = <STDIN>; select STDOUT; print "console1\n"; die; sub interrupt { print "Caught a control c!\n"; die; } END { select LOGFILE; if(fileno(LOGFILE)){ print "close logfile\n"; close(LOGFILE) or warn; } } |