Thanks to visit codestin.com Credit goes to github.com
We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent db361db commit 2f39106Copy full SHA for 2f39106
src/backend/storage/ipc/procarray.c
@@ -542,14 +542,8 @@ ProcArrayGroupClearXid(PGPROC *proc, TransactionId latestXid)
542
* group XID clearing, saving a pointer to the head of the list. Trying
543
* to pop elements one at a time could lead to an ABA problem.
544
*/
545
- while (true)
546
- {
547
- nextidx = pg_atomic_read_u32(&procglobal->procArrayGroupFirst);
548
- if (pg_atomic_compare_exchange_u32(&procglobal->procArrayGroupFirst,
549
- &nextidx,
550
- INVALID_PGPROCNO))
551
- break;
552
- }
+ nextidx = pg_atomic_exchange_u32(&procglobal->procArrayGroupFirst,
+ INVALID_PGPROCNO);
553
554
/* Remember head of list so we can perform wakeups after dropping lock. */
555
wakeidx = nextidx;
0 commit comments