31#define LatchWaitSetLatchPos 0
32#define LatchWaitSetPostmasterDeathPos 1
72 if (latch->event ==
NULL)
102 sa.nLength =
sizeof(
sa);
106 if (latch->event ==
NULL)
135 elog(
PANIC,
"latch already owned by PID %d", owner_pid);
199 wait_event_info) == 0)
356 handle = latch->event;
#define pg_memory_barrier()
#define PG_USED_FOR_ASSERTS_ONLY
#define Assert(condition)
void InitializeLatchWaitSet(void)
int WaitLatchOrSocket(Latch *latch, int wakeEvents, pgsocket sock, long timeout, uint32 wait_event_info)
#define LatchWaitSetLatchPos
void OwnLatch(Latch *latch)
void DisownLatch(Latch *latch)
void InitSharedLatch(Latch *latch)
static WaitEventSet * LatchWaitSet
void SetLatch(Latch *latch)
void InitLatch(Latch *latch)
#define LatchWaitSetPostmasterDeathPos
void ResetLatch(Latch *latch)
int WaitLatch(Latch *latch, int wakeEvents, long timeout, uint32 wait_event_info)
ResourceOwner CurrentResourceOwner
sig_atomic_t maybe_sleeping
void WakeupOtherProc(int pid)
void ModifyWaitEvent(WaitEventSet *set, int pos, uint32 events, Latch *latch)
int AddWaitEventToSet(WaitEventSet *set, uint32 events, pgsocket fd, Latch *latch, void *user_data)
int WaitEventSetWait(WaitEventSet *set, long timeout, WaitEvent *occurred_events, int nevents, uint32 wait_event_info)
void FreeWaitEventSet(WaitEventSet *set)
WaitEventSet * CreateWaitEventSet(ResourceOwner resowner, int nevents)
#define WL_EXIT_ON_PM_DEATH
#define WL_POSTMASTER_DEATH