From 3b671d82b116c450bb629b89ae1b17042a86cf08 Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Mon, 22 Jan 2018 12:12:41 +0100 Subject: [PATCH] INotify.pm - new helper poll_changes Useful to detect file changes. Signed-off-by: Dietmar Maurer --- src/PVE/INotify.pm | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/PVE/INotify.pm b/src/PVE/INotify.pm index 1e5687b..445c034 100644 --- a/src/PVE/INotify.pm +++ b/src/PVE/INotify.pm @@ -199,6 +199,16 @@ sub discard_changes { return read_file ($filename, $full); } +sub poll_changes { + my ($filename) = @_; + + poll() if $inotify; # read new inotify events + + $versions->{$filename} = 0 if !defined ($versions->{$filename}); + + return $versions->{$filename}; +} + sub read_file { my ($fileid, $full) = @_; @@ -211,11 +221,7 @@ sub read_file { my $fd; my $shadow; - poll() if $inotify; # read new inotify events - - $versions->{$filename} = 0 if !defined ($versions->{$filename}); - - my $cver = $versions->{$filename}; + my $cver = poll_changes($filename); if (my $copy = $shadowfiles->{$filename}) { if ($fd = IO::File->new ($copy, "r")) { -- 2.39.2