summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPawel Jakub Dawidek <pjd@FreeBSD.org>2008-04-17 19:19:40 +0000
committerPawel Jakub Dawidek <pjd@FreeBSD.org>2008-04-17 19:19:40 +0000
commitf55f27f862c84942615b61c67112fe5b9b7411f7 (patch)
treeb6fab77274e55a7956dceebcbf420888f5372a1c
parent7266fe16da988da8aa5e92feb143c2ac181027e1 (diff)
Notes
-rw-r--r--sys/kern/kern_linker.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c
index 45d765365e88..c41736601de1 100644
--- a/sys/kern/kern_linker.c
+++ b/sys/kern/kern_linker.c
@@ -924,11 +924,14 @@ int
linker_search_symbol_name(caddr_t value, char *buf, u_int buflen,
long *offset)
{
- int error;
+ int error, locked;
- KLD_LOCK();
+ locked = KLD_LOCKED();
+ if (!locked)
+ KLD_LOCK();
error = linker_debug_search_symbol_name(value, buf, buflen, offset);
- KLD_UNLOCK();
+ if (!locked)
+ KLD_UNLOCK();
return (error);
}