File tree 2 files changed +6
-4
lines changed
2 files changed +6
-4
lines changed Original file line number Diff line number Diff line change @@ -709,10 +709,11 @@ static void MtmSender(Datum arg)
709
709
{
710
710
int nNodes = MtmMaxNodes ;
711
711
int i ;
712
+ MtmBuffer * txBuffer ;
712
713
713
714
MtmBackgroundWorker = true;
714
715
715
- MtmBuffer * txBuffer = (MtmBuffer * )palloc0 (sizeof (MtmBuffer )* nNodes );
716
+ txBuffer = (MtmBuffer * )palloc0 (sizeof (MtmBuffer )* nNodes );
716
717
MTM_ELOG (LOG , "Start arbiter sender %d" , MyProcPid );
717
718
InitializeTimeouts ();
718
719
@@ -1154,4 +1155,3 @@ static void MtmReceiver(Datum arg)
1154
1155
}
1155
1156
proc_exit (1 ); /* force restart of this bgwroker */
1156
1157
}
1157
-
Original file line number Diff line number Diff line change @@ -341,8 +341,7 @@ void MtmLock(LWLockMode mode)
341
341
atexit (MtmReleaseLocks );
342
342
MtmAtExitHookRegistered = true;
343
343
}
344
- if (MtmLockCount != 0 ) {
345
- Assert (Mtm -> lastLockHolder == MyProcPid );
344
+ if (MtmLockCount != 0 && Mtm -> lastLockHolder == MyProcPid ) {
346
345
MtmLockCount += 1 ;
347
346
}
348
347
else
@@ -373,9 +372,12 @@ void MtmLock(LWLockMode mode)
373
372
#endif
374
373
if (mode == LW_EXCLUSIVE ) {
375
374
Assert (MtmLockCount == 0 );
375
+ Assert (MyProcPid != 0 );
376
376
Mtm -> lastLockHolder = MyProcPid ;
377
377
Assert (MyProcPid );
378
378
MtmLockCount = 1 ;
379
+ } else {
380
+ MtmLockCount = 0 ;
379
381
}
380
382
}
381
383
}
You can’t perform that action at this time.
0 commit comments