in reply to Re: Re: Perl script crashing at lockfile ?
in thread Perl script crashing at lockfile ?
Well, that worked, it has now actually created the ascii order file, and gone much further. Now it is stopping/doing nothing here
So, .... it looks like the moral to this story is replace ALL open() with sysopen(), using the parameters and examples as supplied, to fix the locking example.open(SENDMAIL, '|/usr/sbin/sendmail -oi -t') or (unlink ($outfile), diehtml("Can't fork for sendmail: $!\n"));
If I used this code as a template for all the file opens
.... would I need the 'sleep', and what does the FOR contruct do ? Does it try for 6 times ?? Please pardon my ignorance, I'm _very_ much a novice at Perl. :)my $got_lock; use Fcntl; # to get constants for O_CREAT | O_EXCL | O_RDWR for ( 0 .. 5 ) { if ( sysopen(my $fh, "$base_dir/.lock", O_CREAT | O_EXCL | O_RDWR, + 0600) ) { $got_lock = 1; close $fh; last; } sleep 2; } diehtml("Lock error $!\n") unless $got_lock;
Thanks,
Peter
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Re: Re: Re: Perl script crashing at lockfile ?
by peterr (Scribe) on Oct 02, 2003 at 10:34 UTC | |
by dragonchild (Archbishop) on Oct 02, 2003 at 14:51 UTC |