link(2) may fail with errors other than EEXIST; just bail out
since something is likely seriously wrong.
---
 lib/PublicInbox/LeiToMail.pm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

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";
--
unsubscribe: one-click, see List-Unsubscribe header
archive: https://public-inbox.org/meta/

Reply via email to