Since we always enable SO_KEEPALIVE unconditionally, having it
in {mic_arg} leads to unnecessary IPC overhead and memory use.
---
lib/PublicInbox/NetReader.pm | 3 +--
lib/PublicInbox/Watch.pm | 2 +-
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/lib/PublicInbox/NetReader.pm b/lib/PublicInbox/NetReader.pm
index b5d14f13..9faa362c 100644
--- a/lib/PublicInbox/NetReader.pm
+++ b/lib/PublicInbox/NetReader.pm
@@ -51,7 +51,7 @@ sub mic_new ($$$$) {
$socks{Socket} = IO::Socket::Socks->new(%opt) or die
"E: <$$uri> ".eval('$IO::Socket::Socks::SOCKS_ERROR');
}
- PublicInbox::IMAPClient->new(%$mic_arg, %socks);
+ PublicInbox::IMAPClient->new(%$mic_arg, %socks, Keepalive => 1);
}
sub auth_anon_cb { '' }; # for Mail::IMAPClient::Authcallback
@@ -76,7 +76,6 @@ sub mic_for ($$$$) { # mic = Mail::IMAPClient
Port => $uri->port,
Server => $host,
Ssl => $uri->scheme eq 'imaps',
- Keepalive => 1, # SO_KEEPALIVE
%$common, # may set Starttls, Compress, Debug ....
};
$mic_arg->{Ssl} = 1 if $uri->scheme eq 'imaps';
diff --git a/lib/PublicInbox/Watch.pm b/lib/PublicInbox/Watch.pm
index 482d35c4..7a35ee59 100644
--- a/lib/PublicInbox/Watch.pm
+++ b/lib/PublicInbox/Watch.pm
@@ -358,7 +358,7 @@ sub watch_imap_idle_1 ($$$) {
my $mic;
local $0 = $uri->mailbox." $sec";
until ($self->{quit}) {
- $mic //= PublicInbox::IMAPClient->new(%$mic_arg);
+ $mic //= PublicInbox::IMAPClient->new(%$mic_arg,Keepalive => 1);
my $err;
if ($mic && $mic->IsConnected) {
local $self->{mics_cached}->{$sec} = $mic;
--
unsubscribe: one-click, see List-Unsubscribe header
archive: https://public-inbox.org/meta/