Thread IO::File und ein Modul was sich selbst lockt (4 answers)
Opened by rosti at 2014-10-16 19:36

rosti
 2014-10-16 19:36
#177867 #177867
User since
2011-03-19
3472 Artikel
BenutzerIn
[Homepage]
user image
Mal wieder überarbeitet: http://rolfrost.de/lfdnr.html

Mit dem Code

Code (perl): (dl )
1
2
3
4
5
6
7
$| = 1;

foreach(0..9999){
    my $nr = do "LfdNr.bin" or die $@;
    print "$nr\n";
    # sleep 1;
}


tritt ein Problem auf, reproduzierbar bei der 2044sten Iteration (mit oder ohne sleep):

Code: (dl )
flock() on closed filehandle GEN2044 at d:/home/netsh100633/files/fwlib/LfdNr.bin line 20, <DATA> line 2045.


Möglicherweise liegts an IO::File oder am Perl
Code: (dl )
This is perl 5, version 16, subversion 3 (v5.16.3) built for MSWin32-x86-multi-thread


Woran kann das liegen? Bitte mal um Hinweise.

PS/Ed: Sterben tuts exakt bei Iteration 2048. Das hat irgendwas mit der Anzahl gleichzeitig geöffneter Dateien zu tun, am flock() liegts Problem nicht.

Ed2: Dem Thäter auf der Spur: fileno(DATA) läuft hoch, 2047 sehe ich noch, dann knallts.
Last edited: 2014-10-16 21:55:20 +0200 (CEST)

View full thread IO::File und ein Modul was sich selbst lockt