--- Bart Lateur <[EMAIL PROTECTED]> wrote: > On Thu, 10 Jan 2002 11:35:30 +0000 (GMT), Richard Smith wrote: > > >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) > > You want me to walk you through it? OK... > > > use Fcntl; > > import the constants > > > { > > my @lockfiles; > > array of lockfiles created by thris program > > > END { > > foreach(@lockfiles) { unlink } # for 5.004 > > } > > When the program ends, it will delete every lockfile it created itself. > > > sub lockFile ($) { > > #Create a lock file for the file passed as a parameter. > > my $lockfile = shift() . '.lock'; > > file name > > > my $t0 = time; > > starting time > > > local *LOCK; > > just not to stamp on any existsing global filehandle with the same name > > > until(sysopen LOCK, $lockfile, > > O_CREAT|O_TRUNC|O_EXCL|O_WRONLY) { > > Try to open a file for writing, just like ">", but fail if it exists. > "until(...){...}" is the same as "while(! ...){...}". > > > die "Too many loops" if time-$t0 > 10; > > It has been trying for over 10 seconds > > > select undef, undef, undef, 0.1; > > sleep() for 1/10th of a second > > > } > > End of loop. If we get past here, we've been successful. The file now > exists, and is open. > > > push @lockfiles, $lockfile; > > Marke the file for deletion when the script ends > > > print LOCK $$; > > Just some info. It needn't be a plain "0". > > > close LOCK; > > existence is enough to lock the file. > > > } > > end of sub > > > } > > end of scope for @lockfiles. > > -- > Bart.
Bart, Thanks a lot for the hand holding. I will try and incorporate your changes when I update the scripts. As I said previously, I suspect that the script is not used frequently enough to create any problems at the moment, but it never hurts to be on the safe side. Your advice is much appreciated. Best regards, Richard ===== 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