cvs commit: src/sys/kern kern_sysctl.c

Maxime Henrion mux at freebsd.org
Thu May 29 14:52:53 PDT 2003


Nate Lawson wrote:
> On Thu, 29 May 2003, Maxime Henrion wrote:
> >   Modified files:
> >     sys/kern             kern_sysctl.c
> >   Log:
> >   When loading a module that contains a sysctl which is already compiled
> >   in the kernel, the sysctl_register() call would fail, as expected.
> >   However, when unloading this module again, the kernel would then panic
> >   in sysctl_unregister().  Print a message error instead.
> >
> > +	/*
> > +	 * This can happen when a module fails to register and is
> > +	 * being unloaded afterwards.  It should not be a panic()
> > +	 * for normal use.
> > +	 */
> > +	if (error)
> > +		printf("%s: failed to unregister sysctl\n", __func__);
> 
> Thank you, this is helpful.  However, we have quite a few error messages
> that appear when an attach fails.  Is this one necessary in practice or
> should the eventual plan be to change the API to return an errno?  (Note,
> not talking about 5.1 here).

I agree with you that we should think about this issue a bit more once
5.1 is out, as I'm not comfortable with this error message.  However, if
I remember right, changing the API is not an option after 5.1 since we
promised to not break APIs and ABIs past this release.  If the message
turns out to be annoying, it can be removed a bit later and we can have
sysctl_unregister() silently fail.  Changing the API would probably be
better, but I bet we'll have to do this for 6.0.

Cheers,
Maxime


More information about the cvs-all mailing list