]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/Daemon.pm
daemon: fix SIGUSR2 upgrade with -W0 (no workers)
[public-inbox.git] / lib / PublicInbox / Daemon.pm
index 43ef2691341a7cd46924541a103c27b8b1e5c79b..3d582e355ed70d40f6b9689f791f5e08f0c81d67 100644 (file)
@@ -403,6 +403,9 @@ sub upgrade { # $_[0] = signal name or number (unused)
                $ENV{LISTEN_FDS} = scalar @listeners;
                $ENV{LISTEN_PID} = $$;
                foreach my $s (@listeners) {
+                       # @listeners are globs with workers, PI::L w/o workers
+                       $s = $s->{sock} if ref($s) eq 'PublicInbox::Listener';
+
                        my $fl = fcntl($s, F_GETFD, 0);
                        fcntl($s, F_SETFD, $fl &= ~FD_CLOEXEC);
                }