diff options
Diffstat (limited to 'src/backend/access')
-rw-r--r-- | src/backend/access/transam/twophase.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/src/backend/access/transam/twophase.c b/src/backend/access/transam/twophase.c index 70d22577cee..c9b13062b0d 100644 --- a/src/backend/access/transam/twophase.c +++ b/src/backend/access/transam/twophase.c @@ -475,6 +475,7 @@ MarkAsPreparingGuts(GlobalTransaction gxact, TransactionId xid, const char *gid, proc->lwWaitMode = 0; proc->waitLock = NULL; proc->waitProcLock = NULL; + pg_atomic_init_u64(&proc->waitStart, 0); for (i = 0; i < NUM_LOCK_PARTITIONS; i++) SHMQueueInit(&(proc->myProcLocks[i])); /* subxid data must be filled later by GXactLoadSubxactData */ @@ -873,15 +874,8 @@ PGPROC * TwoPhaseGetDummyProc(TransactionId xid, bool lock_held) { GlobalTransaction gxact = TwoPhaseGetGXact(xid, lock_held); - PGPROC *dummy = &ProcGlobal->allProcs[gxact->pgprocno]; - /* - * Initialize atomic variable in dummy proc so that GetLockStatusData() - * can read it later. - */ - pg_atomic_init_u64(&dummy->waitStart, 0); - - return dummy; + return &ProcGlobal->allProcs[gxact->pgprocno]; } /************************************************************************/ |