对ListenSocket 的研究(一)

简介:
为了对 postmaster.c 中的 ListenSocket 进行研究,先将其代码做一个概括(大部分代码省略):

复制代码
/*                                            
 * Postmaster main entry point                                            
 */                                            
int                                            
PostmasterMain(int argc, char *argv[])                                            
{                                            
    ……                                     
    status = ServerLoop();                 
    /*                                        
     * ServerLoop probably shouldn't ever return, but if it does, close down. 
     */                                        
    ExitPostmaster(status != STATUS_OK);   
    return 0;  /* not reached */                    
}
复制代码
然后添加我自己的代码后变成如下样子:

复制代码
/*                                            
 * Postmaster main entry point                                            
 */                                            
int                                            
PostmasterMain(int argc, char *argv[])                                            
{                                            
    ……                        
        /*added by gaojian begin*/
        for (i = 0; i < MAXLISTEN; i++)                            
        {                            
          if (ListenSocket[i] != PGINVALID_SOCKET){                        
            frpintf(stderr, "ListenSocket[%d] is: %d. \n", i,ListenSocket[i]); 
          }else{  break;  }    
        }            
        /*added by gaojian end*/                
                                            
    status = ServerLoop();                 
    /*                                        
     * ServerLoop probably shouldn't ever return, but if it does, close down.
     */                                        
    ExitPostmaster(status != STATUS_OK);                                        
                                            
    return 0;  /* not reached */                    
}    
复制代码
启动后运行的结果是显示两行信息:
ListenSocket[0] is 3.
ListenSocket[1] is 4.

至于为何是两行结果,这两行结果在 ServerLoop()中又如何起作用,还有待进一步研究。







本文转自健哥的数据花园博客园博客,原文链接:http://www.cnblogs.com/gaojian/archive/2012/07/20/2600628.html,如需转载请自行联系原作者
目录
相关文章
|
23天前
|
安全 数据库连接 Linux
深入探索研究FileRun
【10月更文挑战第9天】
40 1
|
6月前
|
人工智能 UED
清华大学研究提出用大模型做心理测量
【2月更文挑战第24天】清华大学研究提出用大模型做心理测量
240 2
清华大学研究提出用大模型做心理测量
|
机器学习/深度学习 算法 数据可视化
上海交大团队使用联合深度学习优化代谢组学研究
上海交大团队使用联合深度学习优化代谢组学研究
217 0
|
JSON 监控 安全
idor相关研究
前言 本文主要阐述了挖掘IDOR的主要流程,以及挖掘的一般性思路(主要从六个角度展开),更多的还要靠读者去实践。
206 0
idor相关研究
|
SQL 存储 Go
AutoAudit研究学习
AutoAudit介绍   AutoAudit这个是Paul Nielsen写的一个开源的审计跟踪的脚本项目,项目位于https://autoaudit.codeplex.com/上,Paul Nielsen的一篇博客CodeGen to Create Fixed Audit Trail Triggers上也介绍了他创建这个项目的前因后果。
1312 0
神经影像学靶点研究取得进展
中国科学院自动化研究所面向脑科学与信息科学交叉前沿,发现了一组通用的多模态磁共振影像学靶点, 可实现精神分裂症多种认知能力的个体化预测,并成功在多中心验证推广,深入揭示了精神分裂症认知损伤所影响的多模态交互环路,为建立基于客观标记物的个体化治疗系统奠定基础。  
1566 0
自抗凝透析器研究取得系列进展
刘富研究员团队在膜微孔结构调控、膜表面抗凝分子修饰、自抗凝透析器方面取得系列进展,实现无肝素透析是血液透析发展趋势,为慢性肾病患者送来福音。
1768 0
|
SQL 关系型数据库 PostgreSQL
下一篇
无影云桌面