On Tue, Feb 24, 2026 at 4:31 PM ji xu <[email protected]> wrote:
>
>
> Chao Li <[email protected]> 于2026年2月24日周二 14:29写道:
>>
>> Since this function is clearly operating on the parameter proc, the only 
>> statement that touches MyProc looks suspicious. It should reset 
>> proc->waitStart, not MyProc->waitStart.
>>
>> As written, it will incorrectly clear the caller’s waitStart instead of the 
>> awakened backend’s, potentially leaving a stale waitStart value in the 
>> target PGPROC.

Thanks for the report!

You’re right. This leaves proc->waitStart unreset for a backend that has
woken up from a lock wait. In practice this doesn't seem to cause
user-visible issues, since pg_locks.waitstart is reported as NULL
when pg_locks.granted is true, regardless of proc->waitStart.

That said, the behavior is incorrect, so I'm feeling inclined to backpatch
a fix. Thoughts?


> The fix looks correct to me. I applied it locally and build and "make check" 
> passed from my side.

Sounds good to me.

Regards,

-- 
Fujii Masao


Reply via email to