--- Bart Lateur <[EMAIL PROTECTED]> wrote:
>
> Here's a draft, I haven't thoroughly tested it.
>
> use Fcntl;
> {
> my @lockfiles;
> END {
> foreach(@lockfiles) { unlink } # for 5.004
> }
> sub lockFile ($) {
> #Create a lock file for the file passed as a parameter.
> my $lockfile = shift() . '.lock';
> my $t0 = time;
> local *LOCK;
> until(sysopen LOCK, $lockfile,
> O_CREAT|O_TRUNC|O_EXCL|O_WRONLY) {
> die "Too many loops" if time-$t0 > 10;
> select undef, undef, undef, 0.1;
> }
> push @lockfiles, $lockfile;
> print LOCK $$;
> close LOCK;
> }
> }
>
> --
> Bart.
Bart,
Thank you for the pointers. Unfortunately, the wooshing sound you just heard
was that code passing over my head at high speed. As I do not like
'cut-and-paste' programming, I am unwilling to use your code when I don't
understand much of it. =8O)
How much danger am I in with the script as it stands, given that this function
gets used quite rarely, perhaps 2/3 times a week (which is a little
distressing, given that it is part of our quote request system)?
> You also need to delete the lockfile when you're through. That's
> dangerous: if your script dies, the lockfile won't be deleted. Unless
> you take care of that...
If a lock file is left behind, it gets deleted next time the sub is called. I
only use it to access one file that contains an index number. In retrospect,
this method doesn't really suit Lantz's application. That will teach me to
think before I type.
Thanks,
Richard (chagrined).
=====
Team Artonomy
Drawing Business
http://www.team-artonomy.com/
http://www.drawingbusiness.com/
The #1 Illustration studio on Google.
Listed on Wow Web Designs, http://www.wowwebdesigns.com/
__________________________________________________
Do You Yahoo!?
Everything you'll ever need on one web page
from News and Sport to Email and Music Charts
http://uk.my.yahoo.com