文章目录
-
- 架构图
- 相关数据结构
-
- child_process_kinds[]数组 (launch_backend.c:179)
- 相关函数
-
- main.c
- PostmasterMain(postmaster.c:489)
- ServerLoop(postmaster.c:1624)
- BackendStartup(postmaster.c:3544)
- postmaster_child_launch (launch_backend.c:265)
- StartChildProcess (postmaster.c:3928)
- 子进程启动的流程
-
-
- PostmasterMain中启动Checkpointer、BgWriterPID、Startup
- ServerLoop中尝试启动其他:
- 在process_pm_child_exit函数中有如下判断:即其会在StartUp线程中拉起其余辅助线程。
-
架构图
相关数据结构
child_process_kinds[]数组 (launch_backend.c:179)
子进程的type,启动函数等信息。
typedef struct
{
const char *name;
void (*main_fn) (char *startup_data,<