about summary refs log tree commit homepage
path: root/lib/PublicInbox/XapHelper.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2023-10-04 03:49:29 +0000
committerEric Wong <e@80x24.org>2023-10-04 17:46:45 +0000
commitc25764aa34c5945dda48d612e20c7d323ffb782c (patch)
tree9c63684fe28494bd126a1d30ee52d430a0b6fd93 /lib/PublicInbox/XapHelper.pm
parent4761801ded553ccecc2e4339b0ae32efa8cf6a52 (diff)
downloadpublic-inbox-c25764aa34c5945dda48d612e20c7d323ffb782c.tar.gz
While signals are currently blocked in these helpers,
they may not always be...
Diffstat (limited to 'lib/PublicInbox/XapHelper.pm')
-rw-r--r--lib/PublicInbox/XapHelper.pm4
1 files changed, 2 insertions, 2 deletions
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} = '';
         }
 }