*** pgsql/src/include/storage/proc.h 2009/08/31 19:41:00 1.114 --- pgsql/src/include/storage/proc.h 2009/12/19 01:32:44 1.115 *************** *** 7,13 **** * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * ! * $PostgreSQL: pgsql/src/include/storage/proc.h,v 1.113 2009/08/12 20:53:30 tgl Exp $ * *------------------------------------------------------------------------- */ --- 7,13 ---- * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * ! * $PostgreSQL: pgsql/src/include/storage/proc.h,v 1.114 2009/08/31 19:41:00 tgl Exp $ * *------------------------------------------------------------------------- */ *************** struct PGPROC *** 95,100 **** --- 95,107 ---- uint8 vacuumFlags; /* vacuum-related flags, see above */ + /* + * While in hot standby mode, setting recoveryConflictMode instructs + * the backend to commit suicide. Possible values are the same as those + * passed to ResolveRecoveryConflictWithVirtualXIDs(). + */ + int recoveryConflictMode; + /* Info about LWLock the process is currently waiting for, if any. */ bool lwWaiting; /* true if waiting for an LW lock */ bool lwExclusive; /* true if waiting for exclusive access */ *************** typedef struct PROC_HDR *** 135,140 **** --- 142,150 ---- PGPROC *autovacFreeProcs; /* Current shared estimate of appropriate spins_per_delay value */ int spins_per_delay; + /* The proc of the Startup process, since not in ProcArray */ + PGPROC *startupProc; + int startupProcPid; } PROC_HDR; /* *************** extern void InitProcGlobal(void); *** 165,170 **** --- 175,183 ---- extern void InitProcess(void); extern void InitProcessPhase2(void); extern void InitAuxiliaryProcess(void); + + extern void PublishStartupProcessInformation(void); + extern bool HaveNFreeProcs(int n); extern void ProcReleaseLocks(bool isCommit);