Structure holding worker list. More...
#include <daemon.h>
| Data Fields | |
| struct config_file * | cfg | 
| The config settings. | |
| char * | chroot | 
| the chroot dir in use, NULL if none | |
| char * | pidfile | 
| pidfile that is used | |
| int | listening_port | 
| port number that has ports opened. | |
| struct listen_port ** | ports | 
| array of listening ports, opened. | |
| size_t | num_ports | 
| size of ports array | |
| int | reuseport | 
| reuseport is enabled if true | |
| int | rc_port | 
| port number for remote that has ports opened. | |
| struct listen_port * | rc_ports | 
| listening ports for remote control | |
| struct daemon_remote * | rc | 
| remote control connections management (for first worker) | |
| void * | listen_dot_sslctx | 
| ssl context for listening to dnstcp over ssl | |
| void * | connect_dot_sslctx | 
| ssl context for connecting to dnstcp over ssl | |
| void * | listen_doh_sslctx | 
| ssl context for listening to DoH | |
| void * | listen_quic_sslctx | 
| ssl context for listening to quic | |
| int | num | 
| num threads allocated | |
| int | old_num | 
| num threads allocated in the previous config or 0 at first | |
| struct worker ** | workers | 
| the worker entries | |
| struct alloc_cache ** | worker_allocs | 
| per-worker allocation cache | |
| int | need_to_exit | 
| do we need to exit unbound (or is it only a reload?) | |
| struct ub_randstate * | rand | 
| master random table ; used for port div between threads on reload | |
| struct alloc_cache | superalloc | 
| master allocation cache | |
| struct module_env * | env | 
| the module environment master value, copied and changed by threads | |
| struct module_stack | mods | 
| stack of module callbacks | |
| int | mods_inited | 
| The module stack has been inited. | |
| struct acl_list * | acl | 
| access control, which client IPs are allowed to connect | |
| struct acl_list * | acl_interface | 
| access control, which interfaces are allowed to connect | |
| struct tcl_list * | tcl | 
| TCP connection limit, limit connections from client IPs. | |
| struct local_zones * | local_zones | 
| local authority zones | |
| struct timeval | time_last_stat | 
| last time of statistics printout | |
| struct timeval | time_boot | 
| time when daemon started | |
| struct shm_main_info * | shm_info | 
| int | use_response_ip | 
| some response-ip tags or actions are configured if true | |
| int | use_rpz | 
| some RPZ policies are configured | |
| struct doq_table * | doq_table | 
| the doq connection table | |
| int | reuse_cache | 
| reuse existing cache on reload if other conditions allow it. | |
| struct cookie_secrets * | cookie_secrets | 
| the EDNS cookie secrets from the cookie-secret-file | |
| struct fast_reload_thread * | fast_reload_thread | 
| the fast reload thread, or NULL | |
| struct fast_reload_printq * | fast_reload_printq_list | 
| the fast reload printq list | |
| int | fast_reload_drop_mesh | 
| the fast reload option to drop mesh queries, true if so. | |
| int | fast_reload_tcl_has_changes | 
| for fast reload, if the tcl, tcp connection limits, has changes for workers | |
| char * | cfgfile | 
| config file name | |
Structure holding worker list.
Holds globally visible information.
| struct listen_port** daemon::ports | 
array of listening ports, opened.
Listening ports per worker, or just one element[0] shared by the worker threads.
Referenced by ct_acl_interface_setup_ports(), daemon_delete(), daemon_fork(), daemon_open_shared_ports(), and thread_start().