summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortruckman <truckman@FreeBSD.org>2002-07-22 08:28:09 +0000
committertruckman <truckman@FreeBSD.org>2002-07-22 08:28:09 +0000
commitdb214eb6c86c325f23808c0dd418c14a025da935 (patch)
tree77acdd6ade40e5ab598f7fa80660e6e2da3eccd3
parent4e1d45c7e4bcb9b58482a6b8826f24e4e80562fe (diff)
downloadFreeBSD-src-db214eb6c86c325f23808c0dd418c14a025da935.zip
FreeBSD-src-db214eb6c86c325f23808c0dd418c14a025da935.tar.gz
Pre-wire the output buffer so that sysctl_kern_function_list() doesn't
block in SYSCTL_OUT() while holding a lock.
-rw-r--r--sys/kern/kern_linker.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c
index b5c1f7d..f34205c 100644
--- a/sys/kern/kern_linker.c
+++ b/sys/kern/kern_linker.c
@@ -1794,6 +1794,7 @@ sysctl_kern_function_list(SYSCTL_HANDLER_ARGS)
linker_file_t lf;
int error;
+ sysctl_wire_old_buffer(req, 0);
mtx_lock(&kld_mtx);
TAILQ_FOREACH(lf, &linker_files, link) {
error = LINKER_EACH_FUNCTION_NAME(lf,
OpenPOWER on IntegriCloud