24 #ifndef MAINLOOP_WORKER_H_INCLUDED
25 #define MAINLOOP_WORKER_H_INCLUDED 1
31 #define MAIN_LOOP_MIN_WORKER_THREADS 2
32 #define MAIN_LOOP_MAX_WORKER_THREADS 256
52 typedef struct _WorkerBatchCallback
54 struct iv_list_head list;
62 INIT_IV_LIST_HEAD(&
self->list);
108 main_loop_assert_worker_thread(
void)
110 #if SYSLOG_NG_ENABLE_DEBUG
void main_loop_worker_assert_batch_callbacks_were_processed(void)
Definition: mainloop-worker.c:416
void main_loop_worker_thread_start(MainLoopWorkerType worker_type)
Definition: mainloop-worker.c:263
void set_reloading_scheduled(gboolean scheduled)
Definition: mainloop-worker.c:428
void main_loop_worker_finalize_thread_space(void)
Definition: mainloop-worker.c:552
void main_loop_worker_allocate_thread_space(gint num_threads)
Definition: mainloop-worker.c:546
gboolean is_reloading_scheduled(void)
Definition: mainloop-worker.c:422
void main_loop_worker_deinit(void)
Definition: mainloop-worker.c:574
gint main_loop_worker_get_thread_index(void)
Definition: mainloop-worker.c:77
void(* WorkerExitNotificationFunc)(gpointer user_data)
Definition: mainloop-worker.h:69
void main_loop_worker_run_gc(void)
Definition: mainloop-worker.c:291
MainLoopWorkerType
Definition: mainloop-worker.h:35
@ MLW_THREADED_OUTPUT_WORKER
Definition: mainloop-worker.h:38
@ MLW_THREADED_INPUT_WORKER
Definition: mainloop-worker.h:39
@ MLW_UNKNOWN
Definition: mainloop-worker.h:36
@ MAIN_LOOP_WORKER_TYPE_MAX
Definition: mainloop-worker.h:40
@ MLW_ASYNC_WORKER
Definition: mainloop-worker.h:37
void main_loop_worker_job_complete(void)
Definition: mainloop-worker.c:350
gint main_loop_worker_get_max_number_of_threads(void)
Definition: mainloop-worker.c:540
void main_loop_worker_init(void)
Definition: mainloop-worker.c:565
void main_loop_worker_sync_call(void(*func)(void *user_data), void *user_data)
void main_loop_worker_invoke_batch_callbacks(void)
Definition: mainloop-worker.c:402
gboolean main_loop_worker_is_worker_thread(void)
Definition: mainloop-worker.c:150
void main_loop_worker_register_exit_notification_callback(WorkerExitNotificationFunc func, gpointer user_data)
Definition: mainloop-worker.c:225
void main_loop_worker_thread_stop(void)
Definition: mainloop-worker.c:279
gboolean main_loop_worker_job_quit(void)
Definition: mainloop-worker.c:468
void main_loop_sync_worker_startup_and_teardown(void)
Definition: mainloop-worker.c:526
void main_loop_worker_job_start(void)
Definition: mainloop-worker.c:301
void main_loop_worker_register_batch_callback(WorkerBatchCallback *cb)
Definition: mainloop-worker.c:396
void main_loop_worker_wait_for_exit(void)
Definition: mainloop-worker.c:193
gboolean main_loop_worker_wait_for_exit_until(gdouble wait_time)
Definition: mainloop-worker.c:207
gdouble mainloop_sleep_time(const gdouble delay)
Definition: mainloop-worker.c:201
gpointer(* MainLoopTaskFunc)(gpointer user_data)
Definition: mainloop.h:49
#define self
Definition: rcptid.c:38
Definition: mainloop-worker.h:53
gpointer user_data
Definition: mainloop-worker.h:56
MainLoopTaskFunc func
Definition: mainloop-worker.h:55