The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 1.28

  • Multiple fixes to locking code:
  • flock() can be interrupted by a syscall. work around by using a safe_flock() wrapper that retries if errno is EAGAIN (and also EWOULDBLOCK).
  • handle several possible race conditions between open() and flock().
  • DESTROY() was unlinking the lockfile (.logfile.LCK). This was the cause of a race condition where multiple processes could enter the critical seciton at the same time. Avoided by leaving .LCK files in place. Probably fixes #77075 (Thanks Emanuele Tomasi).
  • add author test for DESTROY lockfile race condition.

Modules

Log to Files that Archive/Rotate Themselves