#include "mainloop.h"#include "mainloop-worker.h"#include "mainloop-io-worker.h"#include "mainloop-call.h"#include "mainloop-control.h"#include "apphook.h"#include "cfg.h"#include "stats/stats-registry.h"#include "stats/stats-counter.h"#include "stats/stats-cluster-single.h"#include "messages.h"#include "children.h"#include "control/control-main.h"#include "reloc.h"#include "service-management.h"#include "persist-state.h"#include "run-id.h"#include "host-id.h"#include "debugger/debugger-main.h"#include "plugin.h"#include "resolved-configurable-paths.h"#include "scratch-buffers.h"#include "timeutils/misc.h"#include "stats/stats-control.h"#include "healthcheck/healthcheck-control.h"#include "signal-handler.h"#include "file-monitor.h"#include <sys/types.h>#include <sys/wait.h>#include <string.h>#include <time.h>#include <iv.h>#include <iv_signal.h>#include <iv_event.h>
Classes | |
| struct | MainLoop |
Variables | |
| volatile gint | main_loop_workers_running |
| ThreadId | main_thread_handle |
| GCond | thread_halt_cond |
| GMutex | workers_running_lock |
| void main_loop_add_options | ( | GOptionContext * | ctx | ) |
| void main_loop_deinit | ( | MainLoop * | self | ) |
| GQuark main_loop_error_quark | ( | void | ) |
| void main_loop_exit | ( | MainLoop * | self | ) |
| GlobalConfig* main_loop_get_current_config | ( | MainLoop * | self | ) |
| MainLoop* main_loop_get_instance | ( | void | ) |
| GlobalConfig* main_loop_get_pending_new_config | ( | MainLoop * | self | ) |
| void main_loop_init | ( | MainLoop * | self, |
| MainLoopOptions * | options | ||
| ) |
| gboolean main_loop_initialize_state | ( | GlobalConfig * | cfg, |
| const gchar * | persist_filename | ||
| ) |
| gboolean main_loop_is_control_server_running | ( | MainLoop * | self | ) |
| gboolean main_loop_is_server_mode | ( | MainLoop * | self | ) |
| gboolean main_loop_is_terminating | ( | MainLoop * | self | ) |
| int main_loop_read_and_init_config | ( | MainLoop * | self | ) |
| void main_loop_reload_config | ( | MainLoop * | self | ) |
| void main_loop_reload_config_commence | ( | MainLoop * | self | ) |
| gboolean main_loop_reload_config_prepare | ( | MainLoop * | self, |
| GError ** | error | ||
| ) |
| void main_loop_run | ( | MainLoop * | self | ) |
| void main_loop_set_server_mode | ( | MainLoop * | self, |
| gboolean | server_mode | ||
| ) |
| void main_loop_thread_resource_deinit | ( | void | ) |
| void main_loop_thread_resource_init | ( | void | ) |
| void main_loop_verify_config | ( | GString * | result, |
| MainLoop * | self | ||
| ) |
| gboolean main_loop_was_last_reload_successful | ( | MainLoop * | self | ) |
| volatile gint main_loop_workers_running |
| ThreadId main_thread_handle |
This comment documents how the work performed by syslog-ng is partitioned between threads. First of all it is useful to know that the configuration is translated to a tree of LogPipe instances, as described in a comment in logpipe.h.
The basic assumptions for threading:
| GCond thread_halt_cond |
| GMutex workers_running_lock |