对ListenSocket 的研究(三)

简介:

接着 ListenSocket的研究(二) 一文,进一步进行分析,改动postmaster.c的ServerLoop函数代码如下:


复制代码

if (selres > 0)                                            

{                                            

    int    i;                              

    for (i = 0; i < MAXLISTEN; i++)                                        

    {                                        

        if (ListenSocket[i] == PGINVALID_SOCKET)

            break;                          

        if (FD_ISSET(ListenSocket[i], &rmask))                                    

        {                                    

            fprintf(stderr, 

        "In ServerLoop, ListenSocket[%d] is dealed ok by FD_ISSET.\n", i); 

            Port       *port;              

            port = ConnCreate(ListenSocket[i]); 

            if (port)                                

            {                                

                BackendStartup(port);     

                StreamClose(port->sock);                            

                ConnFree(port);                            

            }                                

        /*added by gaojian begin*/                                    

        }else{                                    

          fprintf(stderr, 

        "ListenSocket[%d] is dealed by FD_ISSET 

          with failed result.\n", i);   

        /*added by gaojian end*/                                    

        }                                 

    }                                        

}

复制代码

启动服务器端后,显示信息:


ListenSocket[0]:3

ListenSocket[1]:4


然后,再开一个终端运行psql,此时服务器端所属的终端显示:


ListenSocket[0] is deal ok with FD_ISSET

ListenSocket[1] is deal by FD_ISSET with failed result.


也就是说客户端来一个请求的时候,只影响到ListenSocket数组中的一个元素;所以会激活一个backend。再开一个终端,仍然是同样的信息。那么ListenSocekt[1]应该算作备用。










本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/archive/2012/07/20/2601033.html,如需转载请自行联系原作者

目录
相关文章
|
1月前
|
机器学习/深度学习 人工智能 机器人
推荐一些关于将图形学先验知识融入人工智能模型的研究论文
推荐一些关于将图形学先验知识融入人工智能模型的研究论文
|
2月前
|
安全 数据库连接 Linux
深入探索研究FileRun
【10月更文挑战第9天】
86 1
|
7月前
|
人工智能 UED
清华大学研究提出用大模型做心理测量
【2月更文挑战第24天】清华大学研究提出用大模型做心理测量
290 2
清华大学研究提出用大模型做心理测量
|
JSON 监控 安全
idor相关研究
前言 本文主要阐述了挖掘IDOR的主要流程,以及挖掘的一般性思路(主要从六个角度展开),更多的还要靠读者去实践。
208 0
idor相关研究
|
机器学习/深度学习 算法 数据可视化
NeurIPS 2019:两种视角带你了解网络可解释性的研究和进展
一直以来,深度网络在图像识别,检测,语言等领域都有强大的能力。研究者们的重点都在如何提升网络性能上,很少有人能说清楚深度神经网络为何能够得到较好的泛化能力,有的研究者习惯从原理上来说明这个问题,有的研究者则会从中间结果来解释,当然这些观点都各有千秋。在 NeurIPS 2019 上,有些学者在网络的可解释性上发表了自己的研究。
255 0
NeurIPS 2019:两种视角带你了解网络可解释性的研究和进展
|
SQL 存储 Go
AutoAudit研究学习
AutoAudit介绍   AutoAudit这个是Paul Nielsen写的一个开源的审计跟踪的脚本项目,项目位于https://autoaudit.codeplex.com/上,Paul Nielsen的一篇博客CodeGen to Create Fixed Audit Trail Triggers上也介绍了他创建这个项目的前因后果。
1319 0
神经影像学靶点研究取得进展
中国科学院自动化研究所面向脑科学与信息科学交叉前沿,发现了一组通用的多模态磁共振影像学靶点, 可实现精神分裂症多种认知能力的个体化预测,并成功在多中心验证推广,深入揭示了精神分裂症认知损伤所影响的多模态交互环路,为建立基于客观标记物的个体化治疗系统奠定基础。  
1578 0
自抗凝透析器研究取得系列进展
刘富研究员团队在膜微孔结构调控、膜表面抗凝分子修饰、自抗凝透析器方面取得系列进展,实现无肝素透析是血液透析发展趋势,为慢性肾病患者送来福音。
1772 0
|
SQL 关系型数据库 PostgreSQL
下一篇
DataWorks