Since commit
5764f611e1, we've been using the ilist.h functions for
handling the linked list. There's no need for 'links' to be the first
element of the struct anymore, except for one call in InitProcess
where we used a straight cast from the 'dlist_node *' to PGPROC *,
without the dlist_container() macro. That was just an oversight in
commit
5764f611e1, fix it.
There no imminent need to move 'links' from being the first field, but
let's be tidy.
Reviewed-by: Aleksander Alekseev, Andres Freund
Discussion: https://www.postgresql.org/message-id/
22aa749e-cc1a-424a-b455-
21325473a794@iki.fi
if (!dlist_is_empty(procgloballist))
{
- MyProc = (PGPROC *) dlist_pop_head_node(procgloballist);
+ MyProc = dlist_container(PGPROC, links, dlist_pop_head_node(procgloballist));
SpinLockRelease(ProcStructLock);
}
else
*/
struct PGPROC
{
- /* proc->links MUST BE FIRST IN STRUCT (see ProcSleep,ProcWakeup,etc) */
dlist_node links; /* list link if process is in a list */
dlist_head *procgloballist; /* procglobal list that owns this PGPROC */