88 elog(
PANIC,
"too many semaphores created");
104 (
errmsg(
"could not create semaphore: error code %lu",
180 (
errmsg(
"could not lock semaphore: error code %lu",
184 elog(
FATAL,
"unexpected return code from WaitForMultipleObjectsEx(): %lu", rc);
200 (
errmsg(
"could not unlock semaphore: error code %lu",
230 (
errmsg(
"could not try-lock semaphore: error code %lu",
#define Assert(condition)
int errmsg(const char *fmt,...)
#define ereport(elevel,...)
void on_shmem_exit(pg_on_exit_callback function, Datum arg)
#define CHECK_FOR_INTERRUPTS()
void pgwin32_dispatch_queued_signals(void)
HANDLE pgwin32_signal_event
Size PGSemaphoreShmemSize(int maxSemas)
void PGSemaphoreUnlock(PGSemaphore sema)
void PGReserveSemaphores(int maxSemas)
void PGSemaphoreReset(PGSemaphore sema)
void PGSemaphoreLock(PGSemaphore sema)
bool PGSemaphoreTryLock(PGSemaphore sema)
PGSemaphore PGSemaphoreCreate(void)
static void ReleaseSemaphores(int code, Datum arg)