@@ -825,13 +825,13 @@ LockAcquireExtended(const LOCKTAG *locktag,
825825 * FastPathStrongRelationLocks->counts becomes visible after we test
826826 * it has yet to begin to transfer fast-path locks.
827827 */
828- LWLockAcquire (MyProc -> backendLock ,LW_EXCLUSIVE );
828+ LWLockAcquire (& MyProc -> backendLock ,LW_EXCLUSIVE );
829829if (FastPathStrongRelationLocks -> count [fasthashcode ]!= 0 )
830830acquired = false;
831831else
832832acquired = FastPathGrantRelationLock (locktag -> locktag_field2 ,
833833lockmode );
834- LWLockRelease (MyProc -> backendLock );
834+ LWLockRelease (& MyProc -> backendLock );
835835if (acquired )
836836{
837837/*
@@ -1838,10 +1838,10 @@ LockRelease(const LOCKTAG *locktag, LOCKMODE lockmode, bool sessionLock)
18381838 * We might not find the lock here, even if we originally entered it
18391839 * here. Another backend may have moved it to the main table.
18401840 */
1841- LWLockAcquire (MyProc -> backendLock ,LW_EXCLUSIVE );
1841+ LWLockAcquire (& MyProc -> backendLock ,LW_EXCLUSIVE );
18421842released = FastPathUnGrantRelationLock (locktag -> locktag_field2 ,
18431843lockmode );
1844- LWLockRelease (MyProc -> backendLock );
1844+ LWLockRelease (& MyProc -> backendLock );
18451845if (released )
18461846{
18471847RemoveLocalLock (locallock );
@@ -2044,7 +2044,7 @@ LockReleaseAll(LOCKMETHODID lockmethodid, bool allLocks)
20442044 */
20452045if (!have_fast_path_lwlock )
20462046{
2047- LWLockAcquire (MyProc -> backendLock ,LW_EXCLUSIVE );
2047+ LWLockAcquire (& MyProc -> backendLock ,LW_EXCLUSIVE );
20482048have_fast_path_lwlock = true;
20492049}
20502050
@@ -2061,7 +2061,7 @@ LockReleaseAll(LOCKMETHODID lockmethodid, bool allLocks)
20612061 * transferred to the main lock table. That's going to require
20622062 * some extra work, so release our fast-path lock before starting.
20632063 */
2064- LWLockRelease (MyProc -> backendLock );
2064+ LWLockRelease (& MyProc -> backendLock );
20652065have_fast_path_lwlock = false;
20662066
20672067/*
@@ -2087,7 +2087,7 @@ LockReleaseAll(LOCKMETHODID lockmethodid, bool allLocks)
20872087
20882088/* Done with the fast-path data structures */
20892089if (have_fast_path_lwlock )
2090- LWLockRelease (MyProc -> backendLock );
2090+ LWLockRelease (& MyProc -> backendLock );
20912091
20922092/*
20932093 * Now, scan each lock partition separately.
@@ -2490,7 +2490,7 @@ FastPathTransferRelationLocks(LockMethod lockMethodTable, const LOCKTAG *locktag
24902490PGPROC * proc = & ProcGlobal -> allProcs [i ];
24912491uint32 f ;
24922492
2493- LWLockAcquire (proc -> backendLock ,LW_EXCLUSIVE );
2493+ LWLockAcquire (& proc -> backendLock ,LW_EXCLUSIVE );
24942494
24952495/*
24962496 * If the target backend isn't referencing the same database as the
@@ -2499,7 +2499,7 @@ FastPathTransferRelationLocks(LockMethod lockMethodTable, const LOCKTAG *locktag
24992499 *
25002500 * proc->databaseId is set at backend startup time and never changes
25012501 * thereafter, so it might be safe to perform this test before
2502- * acquiring proc->backendLock. In particular, it's certainly safe to
2502+ * acquiring& proc->backendLock. In particular, it's certainly safe to
25032503 * assume that if the target backend holds any fast-path locks, it
25042504 * must have performed a memory-fencing operation (in particular, an
25052505 * LWLock acquisition) since setting proc->databaseId. However, it's
@@ -2509,7 +2509,7 @@ FastPathTransferRelationLocks(LockMethod lockMethodTable, const LOCKTAG *locktag
25092509 */
25102510if (proc -> databaseId != locktag -> locktag_field1 )
25112511{
2512- LWLockRelease (proc -> backendLock );
2512+ LWLockRelease (& proc -> backendLock );
25132513continue ;
25142514}
25152515
@@ -2536,7 +2536,7 @@ FastPathTransferRelationLocks(LockMethod lockMethodTable, const LOCKTAG *locktag
25362536if (!proclock )
25372537{
25382538LWLockRelease (partitionLock );
2539- LWLockRelease (proc -> backendLock );
2539+ LWLockRelease (& proc -> backendLock );
25402540return false;
25412541}
25422542GrantLock (proclock -> tag .myLock ,proclock ,lockmode );
@@ -2547,7 +2547,7 @@ FastPathTransferRelationLocks(LockMethod lockMethodTable, const LOCKTAG *locktag
25472547/* No need to examine remaining slots. */
25482548break ;
25492549}
2550- LWLockRelease (proc -> backendLock );
2550+ LWLockRelease (& proc -> backendLock );
25512551}
25522552return true;
25532553}
@@ -2569,7 +2569,7 @@ FastPathGetRelationLockEntry(LOCALLOCK *locallock)
25692569Oid relid = locktag -> locktag_field2 ;
25702570uint32 f ;
25712571
2572- LWLockAcquire (MyProc -> backendLock ,LW_EXCLUSIVE );
2572+ LWLockAcquire (& MyProc -> backendLock ,LW_EXCLUSIVE );
25732573
25742574for (f = 0 ;f < FP_LOCK_SLOTS_PER_BACKEND ;f ++ )
25752575{
@@ -2592,7 +2592,7 @@ FastPathGetRelationLockEntry(LOCALLOCK *locallock)
25922592if (!proclock )
25932593{
25942594LWLockRelease (partitionLock );
2595- LWLockRelease (MyProc -> backendLock );
2595+ LWLockRelease (& MyProc -> backendLock );
25962596ereport (ERROR ,
25972597(errcode (ERRCODE_OUT_OF_MEMORY ),
25982598errmsg ("out of shared memory" ),
@@ -2607,7 +2607,7 @@ FastPathGetRelationLockEntry(LOCALLOCK *locallock)
26072607break ;
26082608}
26092609
2610- LWLockRelease (MyProc -> backendLock );
2610+ LWLockRelease (& MyProc -> backendLock );
26112611
26122612/* Lock may have already been transferred by some other backend. */
26132613if (proclock == NULL )
@@ -2732,7 +2732,7 @@ GetLockConflicts(const LOCKTAG *locktag, LOCKMODE lockmode)
27322732if (proc == MyProc )
27332733continue ;
27342734
2735- LWLockAcquire (proc -> backendLock ,LW_SHARED );
2735+ LWLockAcquire (& proc -> backendLock ,LW_SHARED );
27362736
27372737/*
27382738 * If the target backend isn't referencing the same database as
@@ -2744,7 +2744,7 @@ GetLockConflicts(const LOCKTAG *locktag, LOCKMODE lockmode)
27442744 */
27452745if (proc -> databaseId != locktag -> locktag_field1 )
27462746{
2747- LWLockRelease (proc -> backendLock );
2747+ LWLockRelease (& proc -> backendLock );
27482748continue ;
27492749}
27502750
@@ -2782,7 +2782,7 @@ GetLockConflicts(const LOCKTAG *locktag, LOCKMODE lockmode)
27822782break ;
27832783}
27842784
2785- LWLockRelease (proc -> backendLock );
2785+ LWLockRelease (& proc -> backendLock );
27862786}
27872787}
27882788
@@ -3332,7 +3332,7 @@ GetLockStatusData(void)
33323332PGPROC * proc = & ProcGlobal -> allProcs [i ];
33333333uint32 f ;
33343334
3335- LWLockAcquire (proc -> backendLock ,LW_SHARED );
3335+ LWLockAcquire (& proc -> backendLock ,LW_SHARED );
33363336
33373337for (f = 0 ;f < FP_LOCK_SLOTS_PER_BACKEND ;++ f )
33383338{
@@ -3390,7 +3390,7 @@ GetLockStatusData(void)
33903390el ++ ;
33913391}
33923392
3393- LWLockRelease (proc -> backendLock );
3393+ LWLockRelease (& proc -> backendLock );
33943394}
33953395
33963396/*
@@ -3930,7 +3930,7 @@ VirtualXactLockTableInsert(VirtualTransactionId vxid)
39303930{
39313931Assert (VirtualTransactionIdIsValid (vxid ));
39323932
3933- LWLockAcquire (MyProc -> backendLock ,LW_EXCLUSIVE );
3933+ LWLockAcquire (& MyProc -> backendLock ,LW_EXCLUSIVE );
39343934
39353935Assert (MyProc -> backendId == vxid .backendId );
39363936Assert (MyProc -> fpLocalTransactionId == InvalidLocalTransactionId );
@@ -3939,7 +3939,7 @@ VirtualXactLockTableInsert(VirtualTransactionId vxid)
39393939MyProc -> fpVXIDLock = true;
39403940MyProc -> fpLocalTransactionId = vxid .localTransactionId ;
39413941
3942- LWLockRelease (MyProc -> backendLock );
3942+ LWLockRelease (& MyProc -> backendLock );
39433943}
39443944
39453945/*
@@ -3959,14 +3959,14 @@ VirtualXactLockTableCleanup(void)
39593959/*
39603960 * Clean up shared memory state.
39613961 */
3962- LWLockAcquire (MyProc -> backendLock ,LW_EXCLUSIVE );
3962+ LWLockAcquire (& MyProc -> backendLock ,LW_EXCLUSIVE );
39633963
39643964fastpath = MyProc -> fpVXIDLock ;
39653965lxid = MyProc -> fpLocalTransactionId ;
39663966MyProc -> fpVXIDLock = false;
39673967MyProc -> fpLocalTransactionId = InvalidLocalTransactionId ;
39683968
3969- LWLockRelease (MyProc -> backendLock );
3969+ LWLockRelease (& MyProc -> backendLock );
39703970
39713971/*
39723972 * If fpVXIDLock has been cleared without touching fpLocalTransactionId,
@@ -4022,13 +4022,13 @@ VirtualXactLock(VirtualTransactionId vxid, bool wait)
40224022 * against the ones we're waiting for. The target backend will only set
40234023 * or clear lxid while holding this lock.
40244024 */
4025- LWLockAcquire (proc -> backendLock ,LW_EXCLUSIVE );
4025+ LWLockAcquire (& proc -> backendLock ,LW_EXCLUSIVE );
40264026
40274027/* If the transaction has ended, our work here is done. */
40284028if (proc -> backendId != vxid .backendId
40294029|| proc -> fpLocalTransactionId != vxid .localTransactionId )
40304030{
4031- LWLockRelease (proc -> backendLock );
4031+ LWLockRelease (& proc -> backendLock );
40324032return true;
40334033}
40344034
@@ -4038,7 +4038,7 @@ VirtualXactLock(VirtualTransactionId vxid, bool wait)
40384038 */
40394039if (!wait )
40404040{
4041- LWLockRelease (proc -> backendLock );
4041+ LWLockRelease (& proc -> backendLock );
40424042return false;
40434043}
40444044
@@ -4063,7 +4063,7 @@ VirtualXactLock(VirtualTransactionId vxid, bool wait)
40634063if (!proclock )
40644064{
40654065LWLockRelease (partitionLock );
4066- LWLockRelease (proc -> backendLock );
4066+ LWLockRelease (& proc -> backendLock );
40674067ereport (ERROR ,
40684068(errcode (ERRCODE_OUT_OF_MEMORY ),
40694069errmsg ("out of shared memory" ),
@@ -4077,7 +4077,7 @@ VirtualXactLock(VirtualTransactionId vxid, bool wait)
40774077}
40784078
40794079/* Done with proc->fpLockBits */
4080- LWLockRelease (proc -> backendLock );
4080+ LWLockRelease (& proc -> backendLock );
40814081
40824082/* Time to wait. */
40834083(void )LockAcquire (& tag ,ShareLock , false, false);