Subject: CVS commit: pkgsrc/devel/p5-Log-Dispatch-FileRotate
From: Thomas Klausner
Date: 2017-09-17 12:46:42
Message id: 20170917104642.DE297FA9A@cvs.NetBSD.org

Log Message:
p5-Log-Dispatch-FileRotate: update to 1.34.

1.34 Wed 55 13 2017
    - We now use a a global Mutex object for each open file that gracefully
      handles locking between threads and across forks.  This fixes the
      following deadlock scenarios:
        - a $SIG{__WARN__} handler is installed that logs to
          Log::Dispatch::FileRotate and log_message issues a warning.
        - multiple dispatchers are in logit() at the same time.
    - Abstract locking functions into Log::Dispatch::FileRotoate::Flock module.
    - Remove flock()'ing of the logfile filehandle.  Rely on the lock that
      we hold on the "lockfile" instead to synchronize writes. [Github #12]
      holding a lock on the lockfile when writing the log message.
    - Various pod cleanups and enhancements (Thanks Emanuele Tomasi)
    - Avoid multiple stat() calls on the same filehandle (Thanks Emanuele Tomasi)
    - Add user_constraint option to use a custom function to determine when
      rotation happens (Thanks Emanuele Tomasi).
    - Move rotation code into its own function (Thanks Emanuele Tomasi)

1.30 Thu Aug 03 2017
    - Docs: fix synopsis usage to "name" (incorrect) instead of filename
      (correct) (Thanks Emanuele Tomasi)
    - improve debug() routine so that all debug messages have the same layout
      (Thanks Emanuele Tomasi)
    - fix race condition in lockfile-race-condition.t [sic] (Thanks Emanuele
      Tomasi)

1.29 Fri Jul 28 2017
    - Fix deadlock on Windows due to the fact that stat() on a filehandle vs a
      path doesn't return the same device field on Windows.

1.28 Thu Jul 27 2017
    *** 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.

1.27 Thu Jul 06 2017
    - add "check_both" configuration option which allows the use of \ 
both time and
      size based rotation at the same time.  If either conditions require a
      rotation, a rotation will happen.  Default is false (previous behaviour).
      Thanks Emanuele Tomasi.  PR #6.
    - make signature test an "author" test and make Test::Signature \ 
optional

Files:
RevisionActionfile
1.27modifypkgsrc/devel/p5-Log-Dispatch-FileRotate/Makefile
1.11modifypkgsrc/devel/p5-Log-Dispatch-FileRotate/distinfo