Michael Paquier <mich...@paquier.xyz> writes:
>> +            LWLockAcquire(ProcArrayLock, LW_EXCLUSIVE);
>> +            MyProc->vacuumFlags |= PROC_IN_SAFE_IC;
>> +            ProcGlobal->vacuumFlags[MyProc->pgxactoff] = 
>> MyProc->vacuumFlags;
>> +            LWLockRelease(ProcArrayLock);

> I can't help noticing that you are repeating the same code pattern
> eight times.  I think that this should be in its own routine, and that
> we had better document that this should be called just after starting
> a transaction, with an assertion enforcing that.

Do we really need exclusive lock on the ProcArray to make this flag
change?  That seems pretty bad from a concurrency standpoint.

                        regards, tom lane


Reply via email to