PostgreSQL server端接收连接后fork进程
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,main->PostmasterMain->ServerLoop: for(;;){ ... //会阻塞在这,监视文件描述符的
千家信息网最后更新 2025年02月23日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安全错误
数据库的锁怎样保障安全
软件开发管理团队文案
网络安全知识主题板报
科技互联网的政策
格力软件开发怎样
低价日本服务器
web如何去连接数据库
软件开发工程师相关课程
上海九州网络技术有限公司
我的世界服务器皮肤怎么没有了
软件开发时的注意事项
审计机关网络安全事件演练
wifi服务器连接被重置
服务器虚拟化技术比较
黄冈市网络安全宣告片
杭州系统软件开发的公司
创建易购网数据库和表
郑州代理投标软件开发
网络安全法学习心得2021
谷歌地球服务器如何升级
tcp文件服务器
常州信息软件开发代理商
互联网5g科技评论员
1写出软件开发的步骤
简述你身边的网络安全威胁事例
土豆服务器介绍
移动应用软件开发工具
云丁网络技术研发流程
江阴浪潮服务器维修站点
网络安全的不良行为
数据库ora-24345