Print this page
re #13388 rb4382 fmd_api.h uses bool which is a C99/C++ keyword


 242 
 243         (void) fmd_conf_getprop(fmd.d_conf, "client.memlim",
 244             &mp->mod_stats->ms_memlimit.fmds_value.ui64);
 245 
 246         (void) fmd_conf_getprop(fmd.d_conf, "client.buflim",
 247             &mp->mod_stats->ms_buflimit.fmds_value.ui64);
 248 
 249         (void) fmd_conf_getprop(fmd.d_conf, "client.thrlim",
 250             &mp->mod_stats->ms_thrlimit.fmds_value.ui32);
 251 
 252         (void) fmd_conf_getprop(fmd.d_conf, "client.doorthrlim",
 253             &mp->mod_stats->ms_doorthrlimit.fmds_value.ui32);
 254 
 255         (void) fmd_conf_getprop(fmd.d_conf, "client.xprtlim",
 256             &mp->mod_stats->ms_xprtlimit.fmds_value.ui32);
 257 
 258         (void) fmd_conf_getprop(fmd.d_conf, "client.xprtqlim",
 259             &mp->mod_stats->ms_xprtqlimit.fmds_value.ui32);
 260 
 261         (void) fmd_conf_getprop(fmd.d_conf, "ckpt.save",
 262             &mp->mod_stats->ms_ckpt_save.fmds_value.bool);
 263 
 264         (void) fmd_conf_getprop(fmd.d_conf, "ckpt.restore",
 265             &mp->mod_stats->ms_ckpt_restore.fmds_value.bool);
 266 
 267         (void) fmd_conf_getprop(fmd.d_conf, "ckpt.zero",
 268             &mp->mod_stats->ms_ckpt_zeroed.fmds_value.bool);
 269 
 270         if (mp->mod_stats->ms_ckpt_zeroed.fmds_value.bool)
 271                 fmd_ckpt_delete(mp); /* blow away any pre-existing checkpoint */
 272 
 273         /*
 274          * Place a hold on the module and grab the module lock before creating
 275          * the module's thread to ensure that it cannot destroy the module and
 276          * that it cannot call ops->mop_init() before we're done setting up.
 277          * NOTE: from now on, we must use fmd_module_rele() for error paths.
 278          */
 279         fmd_module_hold(mp);
 280         (void) pthread_mutex_lock(&mp->mod_lock);
 281         mp->mod_stats->ms_loadtime.fmds_value.ui64 = gethrtime();
 282         mp->mod_thread = fmd_thread_create(mp, fmd_module_start, mp);
 283 
 284         if (mp->mod_thread == NULL) {
 285                 fmd_error(EFMD_MOD_THR, "failed to create thread for %s", path);
 286                 (void) pthread_mutex_unlock(&mp->mod_lock);
 287                 fmd_module_rele(mp);
 288                 return (NULL);
 289         }
 290 




 242 
 243         (void) fmd_conf_getprop(fmd.d_conf, "client.memlim",
 244             &mp->mod_stats->ms_memlimit.fmds_value.ui64);
 245 
 246         (void) fmd_conf_getprop(fmd.d_conf, "client.buflim",
 247             &mp->mod_stats->ms_buflimit.fmds_value.ui64);
 248 
 249         (void) fmd_conf_getprop(fmd.d_conf, "client.thrlim",
 250             &mp->mod_stats->ms_thrlimit.fmds_value.ui32);
 251 
 252         (void) fmd_conf_getprop(fmd.d_conf, "client.doorthrlim",
 253             &mp->mod_stats->ms_doorthrlimit.fmds_value.ui32);
 254 
 255         (void) fmd_conf_getprop(fmd.d_conf, "client.xprtlim",
 256             &mp->mod_stats->ms_xprtlimit.fmds_value.ui32);
 257 
 258         (void) fmd_conf_getprop(fmd.d_conf, "client.xprtqlim",
 259             &mp->mod_stats->ms_xprtqlimit.fmds_value.ui32);
 260 
 261         (void) fmd_conf_getprop(fmd.d_conf, "ckpt.save",
 262             &mp->mod_stats->ms_ckpt_save.fmds_value.b);
 263 
 264         (void) fmd_conf_getprop(fmd.d_conf, "ckpt.restore",
 265             &mp->mod_stats->ms_ckpt_restore.fmds_value.b);
 266 
 267         (void) fmd_conf_getprop(fmd.d_conf, "ckpt.zero",
 268             &mp->mod_stats->ms_ckpt_zeroed.fmds_value.b);
 269 
 270         if (mp->mod_stats->ms_ckpt_zeroed.fmds_value.b)
 271                 fmd_ckpt_delete(mp); /* blow away any pre-existing checkpoint */
 272 
 273         /*
 274          * Place a hold on the module and grab the module lock before creating
 275          * the module's thread to ensure that it cannot destroy the module and
 276          * that it cannot call ops->mop_init() before we're done setting up.
 277          * NOTE: from now on, we must use fmd_module_rele() for error paths.
 278          */
 279         fmd_module_hold(mp);
 280         (void) pthread_mutex_lock(&mp->mod_lock);
 281         mp->mod_stats->ms_loadtime.fmds_value.ui64 = gethrtime();
 282         mp->mod_thread = fmd_thread_create(mp, fmd_module_start, mp);
 283 
 284         if (mp->mod_thread == NULL) {
 285                 fmd_error(EFMD_MOD_THR, "failed to create thread for %s", path);
 286                 (void) pthread_mutex_unlock(&mp->mod_lock);
 287                 fmd_module_rele(mp);
 288                 return (NULL);
 289         }
 290