#include "mainloop-worker.h"#include "mainloop-call.h"#include "tls-support.h"#include "apphook.h"#include "messages.h"#include "scratch-buffers.h"#include "atomic.h"#include <iv.h>
Classes | |
| struct | WorkerExitNotification |
| struct | ExitCondition |
| struct | SyncCallAction |
Macros | |
| #define | main_loop_worker_id __slng_tls_deref(main_loop_worker_id) |
| #define | batch_callbacks __slng_tls_deref(batch_callbacks) |
| #define | main_loop_worker_type __slng_tls_deref(main_loop_worker_type) |
| #define | MAIN_LOOP_IDMAP_BITS_PER_ROW (sizeof(guint64)*8) |
| #define | MAIN_LOOP_IDMAP_ROWS (MAIN_LOOP_MAX_WORKER_THREADS / MAIN_LOOP_IDMAP_BITS_PER_ROW) |
Variables | |
| TLS_BLOCK_START | |
| MainLoopWorkerType | main_loop_worker_type |
| struct iv_list_head | batch_callbacks |
| TLS_BLOCK_END | |
| GQueue | sync_call_actions = G_QUEUE_INIT |
| volatile gboolean | main_loop_workers_quit |
| volatile gboolean | reloading_scheduled |
| #define batch_callbacks __slng_tls_deref(batch_callbacks) |
| #define MAIN_LOOP_IDMAP_BITS_PER_ROW (sizeof(guint64)*8) |
| #define MAIN_LOOP_IDMAP_ROWS (MAIN_LOOP_MAX_WORKER_THREADS / MAIN_LOOP_IDMAP_BITS_PER_ROW) |
| #define main_loop_worker_id __slng_tls_deref(main_loop_worker_id) |
| #define main_loop_worker_type __slng_tls_deref(main_loop_worker_type) |
| void _consume_action | ( | SyncCallAction * | action | ) |
| void _register_sync_call_action | ( | GQueue * | q, |
| void(*)(gpointer user_data) | func, | ||
| gpointer | user_data | ||
| ) |
|
inline |
| void main_loop_sync_worker_startup_and_teardown | ( | void | ) |
| void main_loop_worker_allocate_thread_space | ( | gint | num_threads | ) |
| void main_loop_worker_assert_batch_callbacks_were_processed | ( | void | ) |
| void main_loop_worker_deinit | ( | void | ) |
| void main_loop_worker_finalize_thread_space | ( | void | ) |
| gint main_loop_worker_get_max_number_of_threads | ( | void | ) |
| gint main_loop_worker_get_thread_index | ( | void | ) |
| void main_loop_worker_init | ( | void | ) |
| void main_loop_worker_invoke_batch_callbacks | ( | void | ) |
| gboolean main_loop_worker_is_worker_thread | ( | void | ) |
| void main_loop_worker_job_complete | ( | void | ) |
|
inline |
| void main_loop_worker_job_start | ( | void | ) |
| void main_loop_worker_register_batch_callback | ( | WorkerBatchCallback * | cb | ) |
| void main_loop_worker_register_exit_notification_callback | ( | WorkerExitNotificationFunc | func, |
| gpointer | user_data | ||
| ) |
| void main_loop_worker_run_gc | ( | void | ) |
| void main_loop_worker_sync_call | ( | void(*)(gpointer user_data) | func, |
| gpointer | user_data | ||
| ) |
| void main_loop_worker_thread_start | ( | MainLoopWorkerType | worker_type | ) |
| void main_loop_worker_thread_stop | ( | void | ) |
| void main_loop_worker_wait_for_exit | ( | void | ) |
| gboolean main_loop_worker_wait_for_exit_until | ( | gdouble | wait_time | ) |
|
inline |
|
inline |
| struct iv_list_head batch_callbacks |
| MainLoopWorkerType main_loop_worker_type |
| volatile gboolean main_loop_workers_quit |
| volatile gboolean reloading_scheduled |
| GQueue sync_call_actions = G_QUEUE_INIT |
| TLS_BLOCK_END |
| TLS_BLOCK_START |