syslog-ng source
mainloop-worker.h File Reference
#include "mainloop.h"
#include <iv_list.h>
Include dependency graph for mainloop-worker.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  WorkerBatchCallback
 

Macros

#define MAIN_LOOP_MIN_WORKER_THREADS   2
 
#define MAIN_LOOP_MAX_WORKER_THREADS   256
 

Typedefs

typedef void(* WorkerExitNotificationFunc) (gpointer user_data)
 

Enumerations

enum  MainLoopWorkerType {
  MLW_UNKNOWN , MLW_ASYNC_WORKER = 1 , MLW_THREADED_OUTPUT_WORKER , MLW_THREADED_INPUT_WORKER ,
  MAIN_LOOP_WORKER_TYPE_MAX
}
 

Functions

void main_loop_worker_register_batch_callback (WorkerBatchCallback *cb)
 
void main_loop_worker_invoke_batch_callbacks (void)
 
void main_loop_worker_assert_batch_callbacks_were_processed (void)
 
gint main_loop_worker_get_thread_index (void)
 
void main_loop_worker_job_start (void)
 
void main_loop_worker_job_complete (void)
 
void main_loop_worker_thread_start (MainLoopWorkerType worker_type)
 
void main_loop_worker_thread_stop (void)
 
void main_loop_worker_run_gc (void)
 
void main_loop_worker_register_exit_notification_callback (WorkerExitNotificationFunc func, gpointer user_data)
 
gboolean main_loop_worker_is_worker_thread (void)
 
void main_loop_worker_sync_call (void(*func)(void *user_data), void *user_data)
 
void main_loop_sync_worker_startup_and_teardown (void)
 
gboolean is_reloading_scheduled (void)
 
void set_reloading_scheduled (gboolean scheduled)
 
gboolean main_loop_worker_job_quit (void)
 
gdouble mainloop_sleep_time (const gdouble delay)
 
gboolean main_loop_worker_wait_for_exit_until (gdouble wait_time)
 
void main_loop_worker_wait_for_exit (void)
 
void main_loop_worker_init (void)
 
void main_loop_worker_deinit (void)
 
gint main_loop_worker_get_max_number_of_threads (void)
 
void main_loop_worker_allocate_thread_space (gint num_threads)
 
void main_loop_worker_finalize_thread_space (void)
 

Macro Definition Documentation

◆ MAIN_LOOP_MAX_WORKER_THREADS

#define MAIN_LOOP_MAX_WORKER_THREADS   256

◆ MAIN_LOOP_MIN_WORKER_THREADS

#define MAIN_LOOP_MIN_WORKER_THREADS   2

Typedef Documentation

◆ WorkerExitNotificationFunc

typedef void(* WorkerExitNotificationFunc) (gpointer user_data)

Enumeration Type Documentation

◆ MainLoopWorkerType

Enumerator
MLW_UNKNOWN 
MLW_ASYNC_WORKER 
MLW_THREADED_OUTPUT_WORKER 
MLW_THREADED_INPUT_WORKER 
MAIN_LOOP_WORKER_TYPE_MAX 

Function Documentation

◆ is_reloading_scheduled()

gboolean is_reloading_scheduled ( void  )
inline

◆ main_loop_sync_worker_startup_and_teardown()

void main_loop_sync_worker_startup_and_teardown ( void  )

◆ main_loop_worker_allocate_thread_space()

void main_loop_worker_allocate_thread_space ( gint  num_threads)

◆ main_loop_worker_assert_batch_callbacks_were_processed()

void main_loop_worker_assert_batch_callbacks_were_processed ( void  )

◆ main_loop_worker_deinit()

void main_loop_worker_deinit ( void  )

◆ main_loop_worker_finalize_thread_space()

void main_loop_worker_finalize_thread_space ( void  )

◆ main_loop_worker_get_max_number_of_threads()

gint main_loop_worker_get_max_number_of_threads ( void  )

◆ main_loop_worker_get_thread_index()

gint main_loop_worker_get_thread_index ( void  )

◆ main_loop_worker_init()

void main_loop_worker_init ( void  )

◆ main_loop_worker_invoke_batch_callbacks()

void main_loop_worker_invoke_batch_callbacks ( void  )

◆ main_loop_worker_is_worker_thread()

gboolean main_loop_worker_is_worker_thread ( void  )

◆ main_loop_worker_job_complete()

void main_loop_worker_job_complete ( void  )

◆ main_loop_worker_job_quit()

gboolean main_loop_worker_job_quit ( void  )
inline

◆ main_loop_worker_job_start()

void main_loop_worker_job_start ( void  )

◆ main_loop_worker_register_batch_callback()

void main_loop_worker_register_batch_callback ( WorkerBatchCallback cb)

◆ main_loop_worker_register_exit_notification_callback()

void main_loop_worker_register_exit_notification_callback ( WorkerExitNotificationFunc  func,
gpointer  user_data 
)

◆ main_loop_worker_run_gc()

void main_loop_worker_run_gc ( void  )

◆ main_loop_worker_sync_call()

void main_loop_worker_sync_call ( void(*)(void *user_data)  func,
void *  user_data 
)

◆ main_loop_worker_thread_start()

void main_loop_worker_thread_start ( MainLoopWorkerType  worker_type)

◆ main_loop_worker_thread_stop()

void main_loop_worker_thread_stop ( void  )

◆ main_loop_worker_wait_for_exit()

void main_loop_worker_wait_for_exit ( void  )

◆ main_loop_worker_wait_for_exit_until()

gboolean main_loop_worker_wait_for_exit_until ( gdouble  wait_time)

◆ mainloop_sleep_time()

gdouble mainloop_sleep_time ( const gdouble  delay)
inline

◆ set_reloading_scheduled()

void set_reloading_scheduled ( gboolean  scheduled)
inline