mirror of
https://github.com/postgres/postgres.git
synced 2025-05-02 11:44:50 +03:00
Fix WaitLatch(NULL) on Windows.
Further to commit 733fa9aa, on Windows when a latch is triggered but we aren't currently waiting for it, we need to locate the latch's HANDLE rather than calling ResetEvent(NULL). Author: Kyotaro Horiguchi <horikyota.ntt@gmail.com> Reported-by: Ranier Vilela <ranier.vf@gmail.com> Discussion: https://postgr.es/m/CAEudQArTPi1YBc%2Bn1fo0Asy3QBFhVjp_QgyKG-8yksVn%2ByRTiw%40mail.gmail.com
This commit is contained in:
parent
805b816305
commit
a7e65dc88b
@ -1835,7 +1835,11 @@ WaitEventSetWaitBlock(WaitEventSet *set, int cur_timeout,
|
||||
|
||||
if (cur_event->events == WL_LATCH_SET)
|
||||
{
|
||||
if (!ResetEvent(set->latch->event))
|
||||
/*
|
||||
* We cannot use set->latch->event to reset the fired event if we
|
||||
* aren't waiting on this latch now.
|
||||
*/
|
||||
if (!ResetEvent(set->handles[cur_event->pos + 1]))
|
||||
elog(ERROR, "ResetEvent failed: error code %lu", GetLastError());
|
||||
|
||||
if (set->latch && set->latch->is_set)
|
||||
|
Loading…
x
Reference in New Issue
Block a user