Index: sys/sys/kernhist.h =================================================================== RCS file: /cvsroot/src/sys/sys/kernhist.h,v retrieving revision 1.18 diff -u -p -r1.18 kernhist.h --- sys/sys/kernhist.h 10 Jan 2017 00:50:57 -0000 1.18 +++ sys/sys/kernhist.h 4 Oct 2017 08:55:16 -0000 @@ -147,6 +147,10 @@ extern struct kern_history_head kern_his #define KERNHIST_DECL(NAME) extern struct kern_history NAME #define KERNHIST_DEFINE(NAME) struct kern_history NAME +#define KERNHIST_LINK_STATIC(NAME) \ + LIST_INSERT_HEAD(&kern_histories, &(NAME), list); \ + sysctl_kernhist_new(&(NAME)); + #define KERNHIST_INIT(NAME,N) \ do { \ (NAME).name = __STRING(NAME); \ @@ -156,8 +160,7 @@ do { \ (NAME).e = (struct kern_history_ent *) \ kmem_zalloc(sizeof(struct kern_history_ent) * (N), KM_SLEEP); \ (NAME).s = 0; \ - LIST_INSERT_HEAD(&kern_histories, &(NAME), list); \ - sysctl_kernhist_new(&(NAME)); \ + KERNHIST_LINK_STATIC(NAME) \ } while (/*CONSTCOND*/ 0) #define KERNHIST_INITIALIZER(NAME,BUF) \ @@ -171,9 +174,6 @@ do { \ /* BUF will inititalized to zeroes by being in .bss */ \ } -#define KERNHIST_LINK_STATIC(NAME) \ - LIST_INSERT_HEAD(&kern_histories, &(NAME), list) - #define KERNHIST_INIT_STATIC(NAME,BUF) \ do { \ (NAME).name = __STRING(NAME); \ @@ -183,8 +183,7 @@ do { \ (NAME).e = (struct kern_history_ent *) (BUF); \ (NAME).s = 0; \ memset((NAME).e, 0, sizeof(struct kern_history_ent) * (NAME).n); \ - KERNHIST_LINK_STATIC(NAME); \ - sysctl_kernhist_new(&(NAME)); \ + KERNHIST_LINK_STATIC(NAME) \ } while (/*CONSTCOND*/ 0) #ifndef KERNHIST_DELAY