![]() |
|
No such thing as a small change | |
PerlMonks |
RE: File Lockingby KM (Priest) |
on May 22, 2000 at 07:19 UTC ( [id://14140]=note: print w/replies, xml ) | Need Help?? |
To see an example of flock() in action, try running this script in a few consoles side by side.
#!/usr/bin/perl -wT use Fcntl qw(:flock); my $file = 'test_lock.txt'; my $SEMAPHORE = $file . '.lck'; open(S, ">$SEMAPHORE") or die "$SEMAPHORE: $!"; flock(S, LOCK_EX) or die "flock() failed for $SEMAPHORE: $!"; open (FH, ">>$file") or die "Can't open $file: $!"; print "About to write\n"; print FH "I have written ($$)\n"; print "Written\n"; close FH; print "Going to sleep...\n"; sleep 10; print "Woken up...\n"; close S; I just wanted to go through this because I see a lot of mistakes that people make with locking files, and show another way of making it all more secure. To make it even more secure, use a database :)
Cheers,
In Section
Tutorials
|
|