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


Reply via email to