文章目录
相关文章:
【0193】PG内核之释放PGPROC机制
1. PGPROC数据结构
在 【0193】PG内核之释放PGPROC机制一文中讲解过PG内核是如何实现释放PGPROC的一个过程。本文将讲解PGPROC数据结构,包括其成员变量列表,以及各成员变量的作用。
每个后端在共享内存中都有一个PGPROC
结构。还有一个当前未使用的PGPROC
结构链表,这些结构将被重新分配给新的后端。
查看PGPROC所在列表的list链接。在等待锁时,PGPROC被链接到该锁的waitProcs
队列中。
回收的PGPROC被链接到ProcGlobal的freeProcs
列表中。
twophase.c
还为每个当前准备好的事务建立一个虚拟的 PGPROC 结构体。这些 PGPROCs 出现在ProcArray数据结构中, 以便准备好的事务看起来仍在运行,