about summary refs log tree commit homepage
path: root/lib/PublicInbox
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2021-02-19 00:58:31 +0000
committerEric Wong <e@80x24.org>2021-02-19 19:25:19 +0000
commit427552fcb34d117635225bb30836bbbae7d61590 (patch)
tree56a732aa7fffa8c25797040f1a99eacac014d825 /lib/PublicInbox
parent725fd624277364402a86262486cdb79458db4ed8 (diff)
downloadpublic-inbox-427552fcb34d117635225bb30836bbbae7d61590.tar.gz
link(2) may fail with errors other than EEXIST; just bail out
since something is likely seriously wrong.
Diffstat (limited to 'lib/PublicInbox')
-rw-r--r--lib/PublicInbox/LeiToMail.pm3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/PublicInbox/LeiToMail.pm b/lib/PublicInbox/LeiToMail.pm
index f0adc44f..8a2d9471 100644
--- a/lib/PublicInbox/LeiToMail.pm
+++ b/lib/PublicInbox/LeiToMail.pm
@@ -302,8 +302,9 @@ sub _buf2maildir {
                 $rand = '';
                 do {
                         $final = $dst.$rand.$common.':2,'.$sfx;
-                } while (!link($tmp, $final) && $! == EEXIST &&
+                } while (!($ok = link($tmp, $final)) && $! == EEXIST &&
                         ($rand = _rand.','));
+                die "link($tmp, $final): $!" unless $ok;
                 unlink($tmp) or warn "W: failed to unlink $tmp: $!\n";
         } else {
                 my $err = "Error writing $smsg->{blob} to $dst: $!\n";