Justin Luster wrote:
Does anyone know what might be happening? We are only using
Apache::Registry in this instance. I can’t see how a lexically scoped
file handle that is being locked is not being unlocked once the process
ends.
The process isn't ending if you're using Apache::Registry.
I think you'll need to
use Fcntl qw(:flock);
flock $FileHandle, LOCK_UN;
unless you set the Max child process config option to 1 (in which case,
apache::registry would be useless).
Also, if you're using child locking like this, you can write the
requesting process's PID to the .lock (or whatever) file. Then a cron
job could come along and reap your .lock's if the PID is no longer running.
Then your file would only ever be locked for at most a minute.
Seems like overkill though.
Rob