]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
The resource_xxx routines in subr_hints.c are called before and after the
authornetchild <netchild@FreeBSD.org>
Sun, 31 Jul 2005 10:46:55 +0000 (10:46 +0000)
committernetchild <netchild@FreeBSD.org>
Sun, 31 Jul 2005 10:46:55 +0000 (10:46 +0000)
commit63a34efe1a11d8f25a80b8ce085c76acc14d524f
tree4da7ec8100a1b0966b516497bb6ef575be14df30
parent5d0bbfe29c2b532aba524b135924edc406aa8173
The resource_xxx routines in subr_hints.c are called before and after the
kenv environment in kern_environment.c switches to dynamic kenv. The prior
call sets the static variable hintp to the static hints in subr_hints.c
(hintmode==0).

However, changes to the environment are not detected by the resource_xxx
lookups after the change to dynamic kernel environment, so the lookup
routines only report the old stuff of hintmode==0, even after the change to
the dynamic kenv. This causes kenv users to see a different environment than
the kernel routines.

This is a problem in the mixer.c code that looks up initial mixer volume
settings from the hints: If the hints are dynamic and not from the
device.hints file, mixer.c doesn't see them, but kenv does.

The patch from the PR (modified to comply to the style of the function)
solves this.

PR: 83686
Submitted by: Harry Coin <harrycoin@qconline.com>
sys/kern/subr_hints.c