#include "util/locks.h"
#include "util/alloc.h"
#include "services/modstack.h"
Data Structures | |
struct | daemon |
Structure holding worker list. More... | |
Functions | |
struct daemon * | daemon_init () |
Initialize daemon structure. | |
int | daemon_open_shared_ports (struct daemon *daemon) |
Open shared listening ports (if needed). | |
void | daemon_fork (struct daemon *daemon) |
Fork workers and start service. | |
void | daemon_cleanup (struct daemon *daemon) |
Close off the worker thread information. | |
void | daemon_delete (struct daemon *daemon) |
Delete workers, close listening ports. |
struct daemon* daemon_init | ( | ) | [read] |
Initialize daemon structure.
References daemon::acl, acl_list_create(), alloc_init(), daemon::env, fatal_exit(), log_err(), daemon::mods, modstack_init(), daemon::need_to_exit, signal_handling_record(), daemon::superalloc, daemon::time_boot, and daemon::time_last_stat.
Referenced by run_daemon().
int daemon_open_shared_ports | ( | struct daemon * | daemon | ) |
Open shared listening ports (if needed).
The cfg member pointer must have been set for the daemon.
References daemon::cfg, config_file::control_port, daemon_remote_open_ports(), daemon::listening_port, listening_ports_free(), listening_ports_open(), log_assert, config_file::port, daemon::ports, daemon::rc_port, daemon::rc_ports, and config_file::remote_control_enable.
Referenced by run_daemon().
void daemon_fork | ( | struct daemon * | daemon | ) |
Fork workers and start service.
When the routine exits, it is no longer forked.
References daemon::acl, acl_list_apply_cfg(), daemon::cfg, daemon_create_workers(), daemon_setup_modules(), daemon_start_others(), daemon_stop_others(), fatal_exit(), daemon::local_zones, local_zones_apply_cfg(), local_zones_create(), log_assert, log_info(), worker::need_to_exit, daemon::need_to_exit, daemon::ports, signal_handling_playback(), worker_init(), worker_work(), and daemon::workers.
Referenced by run_daemon().
void daemon_cleanup | ( | struct daemon * | daemon | ) |
Close off the worker thread information.
Bring the daemon back into state ready for daemon_fork again.
References daemon::cfg, daemon::env, daemon::local_zones, local_zones_delete(), log_assert, log_thread_set(), module_env::msg_cache, daemon::num, module_env::rrset_cache, signal_handling_record(), slabhash_clear(), rrset_cache::table, worker_delete(), and daemon::workers.
Referenced by run_daemon().
void daemon_delete | ( | struct daemon * | daemon | ) |
Delete workers, close listening ports.
References daemon::acl, acl_list_delete(), alloc_clear(), daemon::chroot, daemon::env, module_env::infra_cache, infra_delete(), listening_ports_free(), log_err(), daemon::mods, modstack_desetup(), module_env::msg_cache, daemon::pidfile, daemon::ports, daemon::rand, daemon::rc_ports, module_env::rrset_cache, rrset_cache_delete(), slabhash_delete(), daemon::superalloc, and ub_randfree().
Referenced by run_daemon().