From: Eric Wong Date: Fri, 19 Feb 2021 00:58:31 +0000 (+0000) Subject: lei_to_mail: Maildir: ensure link(2) succeeds X-Git-Tag: v1.7.0~1107 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=427552fcb34d117635225bb30836bbbae7d61590;p=public-inbox.git lei_to_mail: Maildir: ensure link(2) succeeds link(2) may fail with errors other than EEXIST; just bail out since something is likely seriously wrong. --- 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";