状态转换图"/>
【0135】【libpq】阻塞并完成一个postmaster连接(内含PGconn状态转换图
文章目录
- 1. 回顾
- 2. status的状态变化是理解其实现的关键
- 2.1 PGRES_POLLING_XXX与CONNECTION_XXX之间枚举值的微妙关系
- 2.2 pqReadData()读取更多数据,如果有的话
1. 回顾
在【0134】【libpq】启动建立一个与postmaster通信的连接(4) 一文中,结合源码的阅读,详细地讲解了libpq在完成所有的准备工作后,是如何去建立一个与postmaster守护进程通信连接的过程。具体建立连接细节是由函数PQconnectPoll()实现。该函数代码量较大,1.5K多行代码,加上代码中运用了goto语法,阅读起来是比较费力的。我这边也是通过gdb调试结合阅读源码的方式,才把这整个链路给理清。因此,我认为很有必要用单独的一篇文章来详细讲解PQconnectPoll()函数的实现思路。
相关阅读:
更多推荐
【0135】【libpq】阻塞并完成一个postmaster连接(内含PGconn状态转换图
发布评论