Path to this page:
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: