git: 87a7419c6375 - main - rtld: add lockstate_rlocked()
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 29 Oct 2026 15:56:18 UTC
The branch main has been updated by kib:
URL: https://cgit.FreeBSD.org/src/commit/?id=87a7419c63756580278fcbdebdbca8b16f3bdd24
commit 87a7419c63756580278fcbdebdbca8b16f3bdd24
Author: Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2026-10-25 17:57:40 +0000
Commit: Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2026-10-29 15:55:37 +0000
rtld: add lockstate_rlocked()
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 84374f493a47..dbb0a9f53287 100644
--- a/libexec/rtld-elf/rtld_lock.c
+++ b/libexec/rtld-elf/rtld_lock.c
@@ -332,6 +332,12 @@ lock_restart_for_upgrade(RtldLockState *lockstate)
}
}
+bool
+lockstate_rlocked(const RtldLockState *lockstate)
+{
+ return (lockstate->lockstate == RTLD_LOCK_RLOCKED);
+}
+
bool
lockstate_wlocked(const RtldLockState *lockstate)
{
diff --git a/libexec/rtld-elf/rtld_lock.h b/libexec/rtld-elf/rtld_lock.h
index e274d7e50121..e39c5c0c4843 100644
--- a/libexec/rtld-elf/rtld_lock.h
+++ b/libexec/rtld-elf/rtld_lock.h
@@ -94,6 +94,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_rlocked(const RtldLockState *);
bool lockstate_wlocked(const RtldLockState *);
void dlerror_dflt_init(void);