PostgreSQL server端接收连接后fork进程
发表于:2025-11-06 作者:千家信息网编辑
千家信息网最后更新 2025年11月06日,main->PostmasterMain->ServerLoop: for(;;){ ... //会阻塞在这,监视文件描述符的
千家信息网最后更新 2025年11月06日PostgreSQL server端接收连接后fork进程
main->PostmasterMain->ServerLoop: for(;;){ ... //会阻塞在这,监视文件描述符的变化 selres = select(nSockets, &rmask, NULL, NULL, &timeout); if (selres > 0){ for (i = 0; i < MAXLISTEN; i++){ //找一个有效的fd if (ListenSocket[i] == PGINVALID_SOCKET) break; if (FD_ISSET(ListenSocket[i], &rmask)){ port = ConnCreate(ListenSocket[i]);->StreamConnection->accept BackendStartup(port);//fork进程 |-- pid = fork_process(); | if (pid == 0){//child | InitPostmasterChild(); | ClosePostmasterPorts(false); | BackendInitialize(port); | //该函数不会返回 | BackendRun(port);->PostgresMain: | |-- for (;;){ | | if (send_ready_for_query){ | | ... | | ReadyForQuery(whereToSendOutput);->pq_flush();->internal_flush->secure_write->secure_raw_write->send | | send_ready_for_query = false; | | } | | firstchar = ReadCommand(&input_message); | | switch(firstchar):{ | | case 'Q':exec_simple_query(query_string); | | ... | | } | |-- } | } | ...father |-- return STATUS_OK //关闭father socket StreamClose(port->sock); ConnFree(port); } } } }
进程
函数
文件
变化
监视
阻塞
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器铺路视频
简易的协同软件开发
宁波金杰软件开发
达梦数据库序列作用
软件开发外包的服务水平
五常手机软件开发
企业app软件开发报价
安全牛网络安全厂商
泰安哪个网站服务器最好
本地文件远程发送服务器
希望之村里面怎么选择服务器
软件开发有什么大型比赛
阿里巴巴与华为数据库对比
西安思际网络技术有限公司
软件开发非洲
哪些方式提升网络安全知识
哈尔滨公安局网络安全大队
河北省路网数据库
常用的网络技术名称
淄博安卓软件开发哪家好
移动ui设计的软件开发
万方数据库使用说明ppt下载
河北地质职工大学网络技术专业
数据库设计之概念设计
数据库代码怎么用
根据国家统计局的数据库
我国最新网络技术
网络安全相关黑板报
湛江汽车软件开发定制
华为5g网络安全