Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit1a01560

Browse files
committed
Rename LWLockWaitUntilFree to LWLockAcquireOrWait.
LWLockAcquireOrWait makes it more clear that the lock is acquired if it'sfree.
1 parentaf7dd69 commit1a01560

File tree

3 files changed

+8
-8
lines changed

3 files changed

+8
-8
lines changed

‎src/backend/access/transam/xlog.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2145,7 +2145,7 @@ XLogFlush(XLogRecPtr record)
21452145
* helps to maintain a good rate of group committing when the system
21462146
* is bottlenecked by the speed of fsyncing.
21472147
*/
2148-
if (!LWLockWaitUntilFree(WALWriteLock,LW_EXCLUSIVE))
2148+
if (!LWLockAcquireOrWait(WALWriteLock,LW_EXCLUSIVE))
21492149
{
21502150
/*
21512151
* The lock is now free, but we didn't acquire it yet. Before we

‎src/backend/storage/lmgr/lwlock.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -572,7 +572,7 @@ LWLockConditionalAcquire(LWLockId lockid, LWLockMode mode)
572572
}
573573

574574
/*
575-
*LWLockWaitUntilFree -Wait until a lock is free
575+
*LWLockAcquireOrWait -Acquire lock, or wait until it's free
576576
*
577577
* The semantics of this function are a bit funky. If the lock is currently
578578
* free, it is acquired in the given mode, and the function returns true. If
@@ -586,14 +586,14 @@ LWLockConditionalAcquire(LWLockId lockid, LWLockMode mode)
586586
* wake up, observe that their records have already been flushed, and return.
587587
*/
588588
bool
589-
LWLockWaitUntilFree(LWLockIdlockid,LWLockModemode)
589+
LWLockAcquireOrWait(LWLockIdlockid,LWLockModemode)
590590
{
591591
volatileLWLock*lock=&(LWLockArray[lockid].lock);
592592
PGPROC*proc=MyProc;
593593
boolmustwait;
594594
intextraWaits=0;
595595

596-
PRINT_LWDEBUG("LWLockWaitUntilFree",lockid,lock);
596+
PRINT_LWDEBUG("LWLockAcquireOrWait",lockid,lock);
597597

598598
#ifdefLWLOCK_STATS
599599
/* Set up local count state first time through in a given process */
@@ -665,7 +665,7 @@ LWLockWaitUntilFree(LWLockId lockid, LWLockMode mode)
665665
* Wait until awakened. Like in LWLockAcquire, be prepared for bogus
666666
* wakups, because we share the semaphore with ProcWaitForSignal.
667667
*/
668-
LOG_LWDEBUG("LWLockWaitUntilFree",lockid,"waiting");
668+
LOG_LWDEBUG("LWLockAcquireOrWait",lockid,"waiting");
669669

670670
#ifdefLWLOCK_STATS
671671
block_counts[lockid]++;
@@ -684,7 +684,7 @@ LWLockWaitUntilFree(LWLockId lockid, LWLockMode mode)
684684

685685
TRACE_POSTGRESQL_LWLOCK_WAIT_DONE(lockid,mode);
686686

687-
LOG_LWDEBUG("LWLockWaitUntilFree",lockid,"awakened");
687+
LOG_LWDEBUG("LWLockAcquireOrWait",lockid,"awakened");
688688
}
689689
else
690690
{
@@ -702,7 +702,7 @@ LWLockWaitUntilFree(LWLockId lockid, LWLockMode mode)
702702
{
703703
/* Failed to get lock, so release interrupt holdoff */
704704
RESUME_INTERRUPTS();
705-
LOG_LWDEBUG("LWLockWaitUntilFree",lockid,"failed");
705+
LOG_LWDEBUG("LWLockAcquireOrWait",lockid,"failed");
706706
TRACE_POSTGRESQL_LWLOCK_WAIT_UNTIL_FREE_FAIL(lockid,mode);
707707
}
708708
else

‎src/include/storage/lwlock.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ extern bool Trace_lwlocks;
108108
externLWLockIdLWLockAssign(void);
109109
externvoidLWLockAcquire(LWLockIdlockid,LWLockModemode);
110110
externboolLWLockConditionalAcquire(LWLockIdlockid,LWLockModemode);
111-
externboolLWLockWaitUntilFree(LWLockIdlockid,LWLockModemode);
111+
externboolLWLockAcquireOrWait(LWLockIdlockid,LWLockModemode);
112112
externvoidLWLockRelease(LWLockIdlockid);
113113
externvoidLWLockReleaseAll(void);
114114
externboolLWLockHeldByMe(LWLockIdlockid);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp