svn commit: r267633 - head/sys/sys

Matthew Fleming mdf at FreeBSD.org
Thu Jun 19 14:07:30 UTC 2014


On Wed, Jun 18, 2014 at 10:28 PM, Hans Petter Selasky
<hselasky at freebsd.org> wrote:
> Author: hselasky
> Date: Thu Jun 19 05:28:42 2014
> New Revision: 267633
> URL: http://svnweb.freebsd.org/changeset/base/267633
>
> Log:
>   Initialize sysctl OID structure by record.
>
>   MFC after:    2 weeks
>
> Modified:
>   head/sys/sys/sysctl.h
>
> Modified: head/sys/sys/sysctl.h
> ==============================================================================
> --- head/sys/sys/sysctl.h       Thu Jun 19 05:10:03 2014        (r267632)
> +++ head/sys/sys/sysctl.h       Thu Jun 19 05:28:42 2014        (r267633)
> @@ -278,19 +278,16 @@ SYSCTL_ALLOWED_TYPES(UINT64, uint64_t *a
>  /* This constructs a "raw" MIB oid. */
>  #define        SYSCTL_OID(parent, nbr, name, kind, a1, a2, handler, fmt, descr)\
>         static struct sysctl_oid sysctl__##parent##_##name = {          \
> -               &sysctl_##parent##_children,                            \
> -               { NULL },                                               \
> -               nbr,                                                    \
> -               kind,                                                   \
> -               a1,                                                     \
> -               a2,                                                     \
> -               #name,                                                  \
> -               handler,                                                \
> -               fmt,                                                    \
> -               0,                                                      \
> -               0,                                                      \
> -               __DESCR(descr)                                          \
> -               };                                                      \
> +               .oid_parent = &sysctl_##parent##_children,              \
> +               .oid_number = (nbr),                                    \
> +               .oid_kind = (kind),                                     \
> +               .oid_arg1 = (a1),                                       \
> +               .oid_arg2 = (a2),                                       \
> +               .oid_name = #name,                                      \
> +               .oid_handler = (handler),                               \
> +               .oid_fmt = (fmt),                                       \
> +               .oid_descr = __DESCR(descr)                             \
> +       };                                                              \
>         DATA_SET(sysctl_set, sysctl__##parent##_##name)
>
>  #define        SYSCTL_ADD_OID(ctx, parent, nbr, name, kind, a1, a2, handler, fmt, descr) \
>

C++ kernel modules break with this change, as C++ doesn't have the
same syntax for named initializers.

Thanks,
matthew


More information about the svn-src-all mailing list