about summary refs log tree commit homepage
path: root/lib/PublicInbox
diff options
context:
space:
mode:
Diffstat (limited to 'lib/PublicInbox')
-rw-r--r--lib/PublicInbox/LEI.pm11
1 files changed, 4 insertions, 7 deletions
diff --git a/lib/PublicInbox/LEI.pm b/lib/PublicInbox/LEI.pm
index d81ca296..595b3fa9 100644
--- a/lib/PublicInbox/LEI.pm
+++ b/lib/PublicInbox/LEI.pm
@@ -1520,13 +1520,10 @@ sub sto_done_request {
         return unless $lei->{sto};
         local $current_lei = $lei;
         my $sock = $wq ? $wq->{lei_sock} : undef;
-        eval {
-                if ($sock //= $lei->{sock}) { # issue, async wait
-                        $lei->{sto}->wq_io_do('done', [ $sock ]);
-                } else { # forcibly wait
-                        my $wait = $lei->{sto}->wq_do('done');
-                }
-        };
+        $sock //= $lei->{sock};
+        my @io;
+        push(@io, $sock) if $sock; # async wait iff possible
+        eval { $lei->{sto}->wq_io_do('done', \@io) };
         warn($@) if $@;
 }