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
In reply to Re: Re: Re: Perl script crashing at lockfile ?
by peterr
in thread Perl script crashing at lockfile ?
by peterr
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |