diff options
Diffstat (limited to 'lib/PublicInbox')
-rw-r--r-- | lib/PublicInbox/LeiToMail.pm | 3 |
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"; |