Re: Use standard SIGHUP and SIGTERM handlers in autoprewarm module - Mailing list pgsql-hackers

From Andres Freund
Subject Re: Use standard SIGHUP and SIGTERM handlers in autoprewarm module
Date
Msg-id 20220429191815.xewxjlpmq7mxhsr2@alap3.anarazel.de
Whole thread Raw
In response to Re: Use standard SIGHUP and SIGTERM handlers in autoprewarm module  (Fujii Masao <masao.fujii@oss.nttdata.com>)
List pgsql-hackers
Hi,

On 2020-12-16 18:12:39 +0900, Fujii Masao wrote:
> -    /* Wait to be signaled by UnpinBuffer() */
> +    /*
> +     * Wait to be signaled by UnpinBuffer().
> +     *
> +     * We assume that only UnpinBuffer() and the timeout requests established
> +     * above can wake us up here. WakeupRecovery() called by walreceiver or
> +     * SIGHUP signal handler, etc cannot do that because it uses the different
> +     * latch from that ProcWaitForSignal() waits on.
> +     */
>      ProcWaitForSignal(PG_WAIT_BUFFER_PIN);
>  
>      /*

Isn't this comment bogus?  The latch could e.g. be set by
procsignal_sigusr1_handler(), which the startup process uses. Or it could
already be set, when entering ResolveRecoveryConflictWithBufferPin().

Why is it even relevant that we only get woken up by UnpinBuffer()?

Greetings,

Andres Freund



pgsql-hackers by date:

Previous
From: "David G. Johnston"
Date:
Subject: Re: fix cost subqueryscan wrong parallel cost
Next
From: Tom Lane
Date:
Subject: Re: fix cost subqueryscan wrong parallel cost