From c25764aa34c5945dda48d612e20c7d323ffb782c Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Wed, 4 Oct 2023 03:49:29 +0000 Subject: xap_helper: retry flock on EINTR While signals are currently blocked in these helpers, they may not always be... --- lib/PublicInbox/XapHelper.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/PublicInbox/XapHelper.pm') diff --git a/lib/PublicInbox/XapHelper.pm b/lib/PublicInbox/XapHelper.pm index 8c2b86d6..f90b283d 100644 --- a/lib/PublicInbox/XapHelper.pm +++ b/lib/PublicInbox/XapHelper.pm @@ -109,9 +109,9 @@ sub dump_roots_iter ($$$) { sub dump_roots_flush ($$) { my ($req, $fh) = @_; if ($req->{wbuf} ne '') { - flock($fh, LOCK_EX) or die "flock: $!"; + until (flock($fh, LOCK_EX)) { die "LOCK_EX: $!" if !$!{EINTR} } print { $req->{0} } $req->{wbuf} or die "print: $!"; - flock($fh, LOCK_UN) or die "flock: $!"; + until (flock($fh, LOCK_UN)) { die "LOCK_UN: $!" if !$!{EINTR} } $req->{wbuf} = ''; } } -- cgit v1.2.3-24-ge0c7