From 6d861f2c5da03c0d5ce141d86f37b1cb23658cd2 Mon Sep 17 00:00:00 2001 From: wiz Date: Sun, 17 Sep 2017 10:46:42 +0000 Subject: [PATCH] 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 --- devel/p5-Log-Dispatch-FileRotate/Makefile | 4 ++-- devel/p5-Log-Dispatch-FileRotate/distinfo | 10 +++++----- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/devel/p5-Log-Dispatch-FileRotate/Makefile b/devel/p5-Log-Dispatch-FileRotate/Makefile index 059634416aec..bf64a072fc32 100644 --- a/devel/p5-Log-Dispatch-FileRotate/Makefile +++ b/devel/p5-Log-Dispatch-FileRotate/Makefile @@ -1,6 +1,6 @@ -# $NetBSD: Makefile,v 1.26 2017/06/12 13:41:13 mef Exp $ +# $NetBSD: Makefile,v 1.27 2017/09/17 10:46:42 wiz Exp $ -DISTNAME= Log-Dispatch-FileRotate-1.26 +DISTNAME= Log-Dispatch-FileRotate-1.34 PKGNAME= p5-${DISTNAME} CATEGORIES= devel perl5 MASTER_SITES= ${MASTER_SITE_PERL_CPAN:=Log/} diff --git a/devel/p5-Log-Dispatch-FileRotate/distinfo b/devel/p5-Log-Dispatch-FileRotate/distinfo index ac73a1ff2826..573ea284f3f3 100644 --- a/devel/p5-Log-Dispatch-FileRotate/distinfo +++ b/devel/p5-Log-Dispatch-FileRotate/distinfo @@ -1,6 +1,6 @@ -$NetBSD: distinfo,v 1.10 2017/06/12 13:41:13 mef Exp $ +$NetBSD: distinfo,v 1.11 2017/09/17 10:46:42 wiz Exp $ -SHA1 (Log-Dispatch-FileRotate-1.26.tar.gz) = 31701b33fbe755ea599b2e5ef10f74733fbcf229 -RMD160 (Log-Dispatch-FileRotate-1.26.tar.gz) = fe876f640e0281fdf93062de878d28fda78e7b94 -SHA512 (Log-Dispatch-FileRotate-1.26.tar.gz) = 24f57158d45b6a5b5fe5bf2c47a5858854494e77af008c5542e22e68f9539ea0c15554e22fa32b6f7d9621413b48936fa382c0d16455828de61fca2381ad1d5f -Size (Log-Dispatch-FileRotate-1.26.tar.gz) = 24138 bytes +SHA1 (Log-Dispatch-FileRotate-1.34.tar.gz) = 10f7cbef25693496ff1ee7884a923971540b2413 +RMD160 (Log-Dispatch-FileRotate-1.34.tar.gz) = 9d241a5aa451b7e5e21fb09ff638b154431f5a2d +SHA512 (Log-Dispatch-FileRotate-1.34.tar.gz) = eea92e762d7be9e48b453d4be90703094aae663227ade98ac0c794ab72e1e4144f4f7147739cbf519467b405ac538693d2d817478a093acf864e069ac783ada7 +Size (Log-Dispatch-FileRotate-1.34.tar.gz) = 28202 bytes