|
PostgreSQL Source Code git master
|
#include "postgres.h"#include "miscadmin.h"#include "postmaster/autovacuum.h"#include "postmaster/postmaster.h"#include "replication/walsender.h"#include "storage/pmsignal.h"#include "storage/proc.h"
Go to the source code of this file.
Data Structures | |
| struct | PMChildPool |
Typedefs | |
| typedef struct PMChildPool | PMChildPool |
Functions | |
| int | MaxLivePostmasterChildren (void) |
| void | InitPostmasterChildSlots (void) |
| PMChild * | AssignPostmasterChildSlot (BackendType btype) |
| PMChild * | AllocDeadEndChild (void) |
| bool | ReleasePostmasterChildSlot (PMChild *pmchild) |
| PMChild * | FindPostmasterChildByPid (int pid) |
Variables | |
| static PMChildPool | pmchild_pools [BACKEND_NUM_TYPES] |
| NON_EXEC_STATIC int | num_pmchild_slots = 0 |
| dlist_head | ActiveChildList |
Definition at line 224 of file pmchild.c.
References ActiveChildList, B_DEAD_END_BACKEND, DEBUG2, dlist_push_head(), elog, fb(), MCXT_ALLOC_NO_OOM, and palloc_extended().
Referenced by BackendStartup().
| PMChild * AssignPostmasterChildSlot | ( | BackendType | btype | ) |
Definition at line 178 of file pmchild.c.
References ActiveChildList, DEBUG2, dlist_container, dlist_is_empty(), dlist_pop_head_node(), dlist_push_head(), elog, ERROR, fb(), PMChildPool::first_slotno, PMChildPool::freelist, MarkPostmasterChildSlotAssigned(), pmchild_pools, PostmasterChildName(), and PMChildPool::size.
Referenced by BackendStartup(), StartBackgroundWorker(), StartChildProcess(), and StartSysLogger().
Definition at line 290 of file pmchild.c.
References ActiveChildList, dlist_iter::cur, dlist_container, dlist_foreach, and fb().
Referenced by process_pm_child_exit().
Definition at line 97 of file pmchild.c.
References ActiveChildList, Assert, autovacuum_worker_slots, B_ARCHIVER, B_AUTOVAC_LAUNCHER, B_AUTOVAC_WORKER, B_BACKEND, B_BG_WORKER, B_BG_WRITER, B_CHECKPOINTER, B_INVALID, B_IO_WORKER, B_LOGGER, B_SLOTSYNC_WORKER, B_STARTUP, B_WAL_RECEIVER, B_WAL_SUMMARIZER, B_WAL_WRITER, BACKEND_NUM_TYPES, PMChild::bgworker_notify, PMChild::bkend_type, PMChild::child_slot, dlist_init(), dlist_push_tail(), fb(), PMChildPool::first_slotno, i, j, MAX_IO_WORKERS, max_wal_senders, max_worker_processes, MaxConnections, num_pmchild_slots, palloc(), PMChild::pid, pmchild_pools, PMChild::rw, and PMChildPool::size.
Referenced by BootstrapModeMain(), PostgresSingleUserMain(), and PostmasterMain().
Definition at line 81 of file pmchild.c.
References elog, ERROR, and num_pmchild_slots.
Referenced by PMSignalShmemInit(), and PMSignalShmemSize().
Definition at line 252 of file pmchild.c.
References B_BACKEND, B_DEAD_END_BACKEND, B_WAL_SENDER, DEBUG2, dlist_delete(), dlist_push_head(), elog, ERROR, fb(), PMChildPool::first_slotno, PMChildPool::freelist, MarkPostmasterChildSlotUnassigned(), pfree(), pmchild_pools, and PMChildPool::size.
Referenced by BackendStartup(), CleanupBackend(), maybe_reap_io_worker(), process_pm_child_exit(), StartBackgroundWorker(), StartChildProcess(), and StartSysLogger().
| dlist_head ActiveChildList |
Definition at line 60 of file pmchild.c.
Referenced by AllocDeadEndChild(), AssignPostmasterChildSlot(), CountChildren(), FindPostmasterChildByPid(), InitPostmasterChildSlots(), PostmasterMarkPIDForWorkerNotify(), and SignalChildren().
| NON_EXEC_STATIC int num_pmchild_slots = 0 |
Definition at line 55 of file pmchild.c.
Referenced by InitPostmasterChildSlots(), and MaxLivePostmasterChildren().
|
static |
Definition at line 54 of file pmchild.c.
Referenced by AssignPostmasterChildSlot(), InitPostmasterChildSlots(), and ReleasePostmasterChildSlot().