78 #define LOOPS_UNTIL_HIBERNATE 50
79 #define HIBERNATE_FACTOR 25
93 sigjmp_buf local_sigjmp_buf;
95 int left_till_hibernate;
147 if (sigsetjmp(local_sigjmp_buf, 1) != 0)
238 if (hibernating != (left_till_hibernate <= 1))
240 hibernating = (left_till_hibernate <= 1);
256 else if (left_till_hibernate > 0)
257 left_till_hibernate--;
267 if (left_till_hibernate > 0)
275 WAIT_EVENT_WAL_WRITER_MAIN);
void AtEOXact_Buffers(bool isCommit)
bool ConditionVariableCancelSleep(void)
void AtEOXact_HashTables(bool isCommit)
void EmitErrorReport(void)
ErrorContextCallback * error_context_stack
void FlushErrorState(void)
sigjmp_buf * PG_exception_stack
void AtEOXact_Files(bool isCommit)
volatile sig_atomic_t LogMemoryContextPending
volatile sig_atomic_t ProcSignalBarrierPending
void ProcessConfigFile(GucContext context)
void SignalHandlerForShutdownRequest(SIGNAL_ARGS)
volatile sig_atomic_t ShutdownRequestPending
volatile sig_atomic_t ConfigReloadPending
void SignalHandlerForConfigReload(SIGNAL_ARGS)
void ResetLatch(Latch *latch)
int WaitLatch(Latch *latch, int wakeEvents, long timeout, uint32 wait_event_info)
#define WL_EXIT_ON_PM_DEATH
void LWLockReleaseAll(void)
MemoryContext TopMemoryContext
void ProcessLogMemoryContextInterrupt(void)
#define AllocSetContextCreate
#define ALLOCSET_DEFAULT_SIZES
#define MemoryContextResetAndDeleteChildren(ctx)
#define RESUME_INTERRUPTS()
#define HOLD_INTERRUPTS()
static MemoryContext MemoryContextSwitchTo(MemoryContext context)
void pgstat_report_wal(bool force)
pqsigfunc pqsignal(int signo, pqsigfunc func)
void ProcessProcSignalBarrier(void)
void procsignal_sigusr1_handler(SIGNAL_ARGS)
void ReleaseAuxProcessResources(bool isCommit)
void pg_usleep(long microsec)
static void pgstat_report_wait_end(void)
static void HandleWalWriterInterrupts(void)
#define LOOPS_UNTIL_HIBERNATE
#define DEFAULT_WAL_WRITER_FLUSH_AFTER
void SetWalWriterSleeping(bool sleeping)
bool XLogBackgroundFlush(void)