diff options
author | truckman <truckman@FreeBSD.org> | 2002-07-22 08:28:09 +0000 |
---|---|---|
committer | truckman <truckman@FreeBSD.org> | 2002-07-22 08:28:09 +0000 |
commit | db214eb6c86c325f23808c0dd418c14a025da935 (patch) | |
tree | 77acdd6ade40e5ab598f7fa80660e6e2da3eccd3 | |
parent | 4e1d45c7e4bcb9b58482a6b8826f24e4e80562fe (diff) | |
download | FreeBSD-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.c | 1 |
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, |