lib/PublicInbox/Daemon.pm | 8 +++++++- diff --git a/lib/PublicInbox/Daemon.pm b/lib/PublicInbox/Daemon.pm index 3d895b0912cc2e7c574b89d2f3a33cb5fedb7663..b64ec87412dc07703d2a171c34ce59fb3511a2e3 100644 --- a/lib/PublicInbox/Daemon.pm +++ b/lib/PublicInbox/Daemon.pm @@ -375,7 +375,13 @@ } elsif ($s =~ /\A(?:QUIT|TERM|INT)\z/) { exit if $quit++; kill_workers($s); } elsif ($s eq 'WINCH') { - $worker_processes = 0; + if (-t STDIN || -t STDOUT || -t STDERR) { + warn +"ignoring SIGWINCH while connected to terminal\n"; + $SIG{WINCH} = 'IGNORE'; + } else { + $worker_processes = 0; + } } elsif ($s eq 'HUP') { $worker_processes = $set_workers; kill_workers($s);