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 @@ -714,10 +714,11 @@ static void MtmSender(Datum arg)
714
714
{
715
715
int nNodes = MtmMaxNodes ;
716
716
int i ;
717
+ MtmBuffer * txBuffer ;
717
718
718
719
MtmBackgroundWorker = true;
719
720
720
- MtmBuffer * txBuffer = (MtmBuffer * )palloc0 (sizeof (MtmBuffer )* nNodes );
721
+ txBuffer = (MtmBuffer * )palloc0 (sizeof (MtmBuffer )* nNodes );
721
722
MTM_ELOG (LOG , "Start arbiter sender %d" , MyProcPid );
722
723
InitializeTimeouts ();
723
724
@@ -1159,4 +1160,3 @@ static void MtmReceiver(Datum arg)
1159
1160
}
1160
1161
proc_exit (1 ); /* force restart of this bgwroker */
1161
1162
}
1162
-
Original file line number Diff line number Diff line change @@ -340,8 +340,7 @@ void MtmLock(LWLockMode mode)
340
340
atexit (MtmReleaseLocks );
341
341
MtmAtExitHookRegistered = true;
342
342
}
343
- if (MtmLockCount != 0 ) {
344
- Assert (Mtm -> lastLockHolder == MyProcPid );
343
+ if (MtmLockCount != 0 && Mtm -> lastLockHolder == MyProcPid ) {
345
344
MtmLockCount += 1 ;
346
345
}
347
346
else
@@ -372,8 +371,11 @@ void MtmLock(LWLockMode mode)
372
371
#endif
373
372
if (mode == LW_EXCLUSIVE ) {
374
373
Assert (MtmLockCount == 0 );
374
+ Assert (MyProcPid != 0 );
375
375
Mtm -> lastLockHolder = MyProcPid ;
376
376
MtmLockCount = 1 ;
377
+ } else {
378
+ MtmLockCount = 0 ;
377
379
}
378
380
}
379
381
}
You can’t perform that action at this time.
0 commit comments