aboutsummaryrefslogtreecommitdiff
path: root/src/include/storage/lwlock.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/storage/lwlock.h')
-rw-r--r--src/include/storage/lwlock.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/include/storage/lwlock.h b/src/include/storage/lwlock.h
index df3df298ae9..c684964a34f 100644
--- a/src/include/storage/lwlock.h
+++ b/src/include/storage/lwlock.h
@@ -94,7 +94,10 @@ typedef enum LWLockId
typedef enum LWLockMode
{
LW_EXCLUSIVE,
- LW_SHARED
+ LW_SHARED,
+ LW_WAIT_UNTIL_FREE /* A special mode used in PGPROC->lwlockMode, when
+ * waiting for lock to become free. Not to be used
+ * as LWLockAcquire argument */
} LWLockMode;
@@ -105,6 +108,7 @@ extern bool Trace_lwlocks;
extern LWLockId LWLockAssign(void);
extern void LWLockAcquire(LWLockId lockid, LWLockMode mode);
extern bool LWLockConditionalAcquire(LWLockId lockid, LWLockMode mode);
+extern bool LWLockWaitUntilFree(LWLockId lockid, LWLockMode mode);
extern void LWLockRelease(LWLockId lockid);
extern void LWLockReleaseAll(void);
extern bool LWLockHeldByMe(LWLockId lockid);