Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: Mysterious Disapperance of file contents

by converter (Priest)
on Aug 29, 2003 at 06:29 UTC ( #287597=note: print w/ replies, xml ) Need Help??


in reply to Mysterious Disapperance of file contents

There's a fine "hit counter" example in the File Locking section at the bottom of perlopentut:

use Fcntl qw(:DEFAULT :flock); sysopen(FH, "numfile", O_RDWR | O_CREAT) or die "can't open numfile: $!"; # autoflush FH $ofh = select(FH); $| = 1; select ($ofh); flock(FH, LOCK_EX) or die "can't write-lock numfile: $!"; $num = <FH> || 0; seek(FH, 0, 0) or die "can't rewind numfile : $!"; print FH $num+1, "\n" or die "can't write numfile: $!"; truncate(FH, tell(FH)) or die "can't truncate numfile: $!"; close(FH) or die "can't close numfile: $!";

converter


Comment on Re: Mysterious Disapperance of file contents
Download Code
Re: Re: Mysterious Disapperance of file contents
by bobn (Chaplain) on Aug 29, 2003 at 07:39 UTC

    This is similar to the discussion of locking when writing in Camle 3, where it states that the simpler open, flock sequence used for reading isn't adequate. BUT I believe OP's use of a separate semaphore file got around that issue, as he never does anything with the counter file until the flock on the semaphore file returns.

    --Bob Niederman, http://bob-n.com

    All code given here is UNTESTED unless otherwise stated.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://287597]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (6)
As of 2014-09-19 07:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (132 votes), past polls