mirror of
https://github.com/postgres/postgres.git
synced 2025-11-06 07:49:08 +03:00
Detach syslogger from shared memory
Commit aafc05de1b removed the calls to detach from shared memory from
syslogger startup. That was not intentional, so put them back.
Author: Rui Zhao
Reviewed-by: Aleksander Alekseev
Backpatch-through: 17
Discussion: https://www.postgresql.org/message-id/11505016-8cf3-4691-b996-7faed99b7877.xiyuan.zr@alibaba-inc.com
This commit is contained in:
@@ -53,6 +53,7 @@
|
|||||||
#include "postmaster/walwriter.h"
|
#include "postmaster/walwriter.h"
|
||||||
#include "replication/slotsync.h"
|
#include "replication/slotsync.h"
|
||||||
#include "replication/walreceiver.h"
|
#include "replication/walreceiver.h"
|
||||||
|
#include "storage/dsm.h"
|
||||||
#include "storage/fd.h"
|
#include "storage/fd.h"
|
||||||
#include "storage/ipc.h"
|
#include "storage/ipc.h"
|
||||||
#include "storage/pg_shmem.h"
|
#include "storage/pg_shmem.h"
|
||||||
@@ -219,9 +220,9 @@ PostmasterChildName(BackendType child_type)
|
|||||||
* Start a new postmaster child process.
|
* Start a new postmaster child process.
|
||||||
*
|
*
|
||||||
* The child process will be restored to roughly the same state whether
|
* The child process will be restored to roughly the same state whether
|
||||||
* EXEC_BACKEND is used or not: it will be attached to shared memory, and fds
|
* EXEC_BACKEND is used or not: it will be attached to shared memory if
|
||||||
* and other resources that we've inherited from postmaster that are not
|
* appropriate, and fds and other resources that we've inherited from
|
||||||
* needed in a child process have been closed.
|
* postmaster that are not needed in a child process have been closed.
|
||||||
*
|
*
|
||||||
* 'startup_data' is an optional contiguous chunk of data that is passed to
|
* 'startup_data' is an optional contiguous chunk of data that is passed to
|
||||||
* the child process.
|
* the child process.
|
||||||
@@ -249,6 +250,13 @@ postmaster_child_launch(BackendType child_type,
|
|||||||
/* Detangle from postmaster */
|
/* Detangle from postmaster */
|
||||||
InitPostmasterChild();
|
InitPostmasterChild();
|
||||||
|
|
||||||
|
/* Detach shared memory if not needed. */
|
||||||
|
if (!child_process_kinds[child_type].shmem_attach)
|
||||||
|
{
|
||||||
|
dsm_detach_all();
|
||||||
|
PGSharedMemoryDetach();
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Enter the Main function with TopMemoryContext. The startup data is
|
* Enter the Main function with TopMemoryContext. The startup data is
|
||||||
* allocated in PostmasterContext, so we cannot release it here yet.
|
* allocated in PostmasterContext, so we cannot release it here yet.
|
||||||
|
|||||||
Reference in New Issue
Block a user