static void update_conf(struct tevent_context *ev, struct messaging_context *msg) { change_to_root_user(); lp_load(get_dyn_CONFIGFILE(), true, false, false, true); load_printers(ev, msg); spoolss_reopen_logs(spoolss_child_id); if (spoolss_child_id == 0) { pfh_daemon_config(DAEMON_NAME, &pf_spoolss_cfg, &default_pf_spoolss_cfg); pfh_manage_pool(ev, msg, &pf_spoolss_cfg, spoolss_pool); } }
static void mdssd_sig_hup_handler(struct tevent_context *ev, struct tevent_signal *se, int signum, int count, void *siginfo, void *pvt) { change_to_root_user(); lp_load_global(get_dyn_CONFIGFILE()); reopen_logs(); pfh_daemon_config(DAEMON_NAME, &pf_mdssd_cfg, &default_pf_mdssd_cfg); /* relay to all children */ prefork_send_signal_to_all(mdssd_pool, SIGHUP); }
static void mdssd_smb_conf_updated(struct messaging_context *msg, void *private_data, uint32_t msg_type, struct server_id server_id, DATA_BLOB *data) { struct tevent_context *ev_ctx; DEBUG(10, ("Got message saying smb.conf was updated. Reloading.\n")); ev_ctx = talloc_get_type_abort(private_data, struct tevent_context); change_to_root_user(); lp_load_global(get_dyn_CONFIGFILE()); reopen_logs(); if (mdssd_child_id == 0) { pfh_daemon_config(DAEMON_NAME, &pf_mdssd_cfg, &default_pf_mdssd_cfg); pfh_manage_pool(ev_ctx, msg, &pf_mdssd_cfg, mdssd_pool); } }