From 795d8a847ba15ee5d5d8fd1eda8742e41b4d90e5 Mon Sep 17 00:00:00 2001 From: Pascal Terjan Date: Mon, 12 Mar 2012 18:13:49 +0000 Subject: Lock the log file when writing This allows using a shared logfile --- lib/Iurt/Util.pm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/Iurt/Util.pm b/lib/Iurt/Util.pm index 8a06584..47a197b 100644 --- a/lib/Iurt/Util.pm +++ b/lib/Iurt/Util.pm @@ -1,6 +1,7 @@ package Iurt::Util; use base qw(Exporter); +use Fcntl qw(:flock SEEK_END); use strict; our @EXPORT = qw( @@ -108,7 +109,12 @@ sub plog { $level = $plog_level{$level}; my ($p, $e) = ($plog_prefix[$level], ($plog_color ? $plog_ctr{normal} : "")); - print $plog_file "$p@_$e\n" if $plog_level >= $level; + if ($plog_level >= $level) { + flock($plog_file, LOCK_EX); + seek($plog_file, 0, SEEK_END); + print $plog_file "$p@_$e\n"; + flock($plog_file, LOCK_UN); + } } sub pdie { -- cgit v1.2.1