Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much

Re: File locking

by gornox_zx (Priest)
on Jul 12, 2001 at 20:37 UTC ( #96101=note: print w/replies, xml ) Need Help??

in reply to File locking

As earlier was pointed out, locks are only suggestion. Hence, other processes can over-ride your lock, so any processes that would be a problem for reading/writing at the wrong time, would have no respect for the lock. So the lock would have no effect anyway.

I still agree; however, that using locks are a good idea. Sometimes I don't feel they are necessary if it is a custom file that only that program will be accessing, and there can only be one instance of that program open at a time. Other than a situation like that it is a good idea to lock.

If you are on a system that doesn't support flock, you can implement your own simple locking system. You do this by testing for the presence of a lockfile before opening the data file, making a lock file when you read or write to a file, and then deleting it when you're done. The following code exemplifies a very simple locking implementation:
while( -f $LOCKFILE ) { ; } open (LOCKME, "> $LOCKFILE") or die "The lockfile won't open $!"; open(CFILE, "count.txt" ) or die "The countfile won't open $!"; read( CFILE, my $buf, -s CFILE ); close( CFILE ); unlink $LOCKFILE;

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (2)
As of 2019-04-21 16:02 GMT
Find Nodes?
    Voting Booth?
    I am most likely to install a new module from CPAN if:

    Results (111 votes). Check out past polls.