diff options
author | Eric Wong <e@80x24.org> | 2024-03-11 10:06:15 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2024-03-12 06:18:11 +0000 |
commit | cdf70291cfe96fa1deb081873d156e8c31c70938 (patch) | |
tree | 74ad2ed0a4c68944a6cfb3e3d32d2e3a2d8c14f1 | |
parent | 1c95e02e19ffc61611dbbfafe64eb13500b44b96 (diff) | |
download | public-inbox-cdf70291cfe96fa1deb081873d156e8c31c70938.tar.gz |
Fortunately, this only affects `--multi-accept=' users, with `--multi-accept=-1' users getting infinite loops. I noticed this when EMFILE was reached on my setup, but any error should cause us to give up accept(2) (at least temporarily) and allow work for other items in the event loop to be processed.
-rw-r--r-- | lib/PublicInbox/Listener.pm | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/PublicInbox/Listener.pm b/lib/PublicInbox/Listener.pm index 4669cf04..c83901b2 100644 --- a/lib/PublicInbox/Listener.pm +++ b/lib/PublicInbox/Listener.pm @@ -41,9 +41,9 @@ sub event_step { # ECONNABORTED is common with bad connections return; } elsif (my $sym = $ERR_WARN{int($!)}) { - warn "W: accept(): $! ($sym)\n"; + return warn "W: accept(): $! ($sym)\n"; } else { - warn "BUG?: accept(): $!\n"; + return warn "BUG?: accept(): $!\n"; } } while ($n--); } |