Thread Flock mit timeout
(14 answers)
Opened by freddy at 2009-08-08 20:01
Hi und Hallo!
Habe mir hier eine sub gebastelt und möchte darin eigentlich gern verwirklichen, dass mein flock maximal 3 Sekunden wartet und sonst mit Fehler zurück kehrt. Aber es funktioniert nicht. Obwohl die Datei definitiv frei bzw. noch garnicht vorhanden ist, meldet es trotzdem Timeout on flock. Warum? Mein bisheriges gegoogle hat mich nicht weiter gebracht. Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 sub create_link($) { my $filehandle = shift(@_); my $max_wartezeit = 3; my $fehler = ''; sysopen ($filehandle, "sysopentest.txt", O_RDWR | O_CREAT, 0600) or $fehler = $!; if (!$fehler) { my $start = time; while(!flock($filehandle,LOCK_EX|LOCK_NB) && time-$start<$max_wartezeit){ sleep 1; } $fehler = 'Timeout on flock' if !flock ($filehandle, LOCK_EX | LOCK_NB); } return $fehler; } Last edited: 2009-08-08 20:54:32 +0200 (CEST) |