git: bcbc19335a70 - main - rtld: add lockstate_wlocked()
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 02 May 2025 18:08:17 UTC
The branch main has been updated by kib:
URL: https://cgit.FreeBSD.org/src/commit/?id=bcbc19335a702a05ed89369c1662a91b686324ce
commit bcbc19335a702a05ed89369c1662a91b686324ce
Author: Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2025-05-01 15:43:30 +0000
Commit: Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2025-05-02 18:08:09 +0000
rtld: add lockstate_wlocked()
querying the lockstate for write-locked state.
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
---
libexec/rtld-elf/rtld_lock.c | 6 ++++++
libexec/rtld-elf/rtld_lock.h | 1 +
2 files changed, 7 insertions(+)
diff --git a/libexec/rtld-elf/rtld_lock.c b/libexec/rtld-elf/rtld_lock.c
index 40fa724b6227..d99b64d8c66a 100644
--- a/libexec/rtld-elf/rtld_lock.c
+++ b/libexec/rtld-elf/rtld_lock.c
@@ -326,6 +326,12 @@ lock_restart_for_upgrade(RtldLockState *lockstate)
}
}
+bool
+lockstate_wlocked(const RtldLockState *lockstate)
+{
+ return (lockstate->lockstate == RTLD_LOCK_WLOCKED);
+}
+
void
dlerror_dflt_init(void)
{
diff --git a/libexec/rtld-elf/rtld_lock.h b/libexec/rtld-elf/rtld_lock.h
index f41c23d7f69a..c9b11176b7de 100644
--- a/libexec/rtld-elf/rtld_lock.h
+++ b/libexec/rtld-elf/rtld_lock.h
@@ -93,6 +93,7 @@ void wlock_acquire(rtld_lock_t, RtldLockState *);
void lock_release(rtld_lock_t, RtldLockState *);
void lock_upgrade(rtld_lock_t, RtldLockState *);
void lock_restart_for_upgrade(RtldLockState *);
+bool lockstate_wlocked(const RtldLockState *);
void dlerror_dflt_init(void);