| <!-- ##### SECTION Title ##### --> |
| Threads |
| |
| <!-- ##### SECTION Short_Description ##### --> |
| |
| |
| <!-- ##### SECTION Long_Description ##### --> |
| <para> |
| |
| </para> |
| |
| |
| <!-- ##### SECTION See_Also ##### --> |
| <para> |
| |
| </para> |
| |
| |
| <!-- ##### SECTION Stability_Level ##### --> |
| |
| |
| <!-- ##### SECTION Image ##### --> |
| |
| |
| <!-- ##### MACRO G_THREADS_ENABLED ##### --> |
| <para> |
| |
| </para> |
| |
| |
| |
| <!-- ##### MACRO G_THREADS_IMPL_POSIX ##### --> |
| <para> |
| |
| </para> |
| |
| |
| |
| <!-- ##### MACRO G_THREADS_IMPL_NONE ##### --> |
| <para> |
| |
| </para> |
| |
| |
| |
| <!-- ##### MACRO G_THREAD_ERROR ##### --> |
| <para> |
| |
| </para> |
| |
| |
| |
| <!-- ##### ENUM GThreadError ##### --> |
| <para> |
| |
| </para> |
| |
| @G_THREAD_ERROR_AGAIN: |
| |
| <!-- ##### STRUCT GThreadFunctions ##### --> |
| <para> |
| |
| </para> |
| |
| @mutex_new: |
| @mutex_lock: |
| @mutex_trylock: |
| @mutex_unlock: |
| @mutex_free: |
| @cond_new: |
| @cond_signal: |
| @cond_broadcast: |
| @cond_wait: |
| @cond_timed_wait: |
| @cond_free: |
| @private_new: |
| @private_get: |
| @private_set: |
| @thread_create: |
| @thread_yield: |
| @thread_join: |
| @thread_exit: |
| @thread_set_priority: |
| @thread_self: |
| @thread_equal: |
| |
| <!-- ##### FUNCTION g_thread_init ##### --> |
| <para> |
| |
| </para> |
| |
| @vtable: |
| |
| |
| <!-- ##### FUNCTION g_thread_supported ##### --> |
| <para> |
| |
| </para> |
| |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_thread_get_initialized ##### --> |
| <para> |
| |
| </para> |
| |
| @void: |
| @Returns: |
| |
| |
| <!-- ##### USER_FUNCTION GThreadFunc ##### --> |
| <para> |
| |
| </para> |
| |
| @data: |
| @Returns: |
| |
| |
| <!-- ##### ENUM GThreadPriority ##### --> |
| <para> |
| |
| </para> |
| |
| @G_THREAD_PRIORITY_LOW: |
| @G_THREAD_PRIORITY_NORMAL: |
| @G_THREAD_PRIORITY_HIGH: |
| @G_THREAD_PRIORITY_URGENT: |
| |
| <!-- ##### STRUCT GThread ##### --> |
| <para> |
| |
| </para> |
| |
| |
| <!-- ##### FUNCTION g_thread_create ##### --> |
| <para> |
| |
| </para> |
| |
| @func: |
| @data: |
| @joinable: |
| @error: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_thread_create_full ##### --> |
| <para> |
| |
| </para> |
| |
| @func: |
| @data: |
| @stack_size: |
| @joinable: |
| @bound: |
| @priority: |
| @error: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_thread_self ##### --> |
| <para> |
| |
| </para> |
| |
| @void: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_thread_join ##### --> |
| <para> |
| |
| </para> |
| |
| @thread: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_thread_set_priority ##### --> |
| <para> |
| |
| </para> |
| |
| @thread: |
| @priority: |
| |
| |
| <!-- ##### FUNCTION g_thread_yield ##### --> |
| <para> |
| |
| </para> |
| |
| |
| |
| <!-- ##### FUNCTION g_thread_exit ##### --> |
| <para> |
| |
| </para> |
| |
| @retval: |
| |
| |
| <!-- ##### FUNCTION g_thread_foreach ##### --> |
| <para> |
| |
| </para> |
| |
| @thread_func: |
| @user_data: |
| |
| |
| <!-- ##### STRUCT GMutex ##### --> |
| <para> |
| |
| </para> |
| |
| |
| <!-- ##### FUNCTION g_mutex_new ##### --> |
| <para> |
| |
| </para> |
| |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_mutex_lock ##### --> |
| <para> |
| |
| </para> |
| |
| @mutex: |
| |
| |
| <!-- ##### FUNCTION g_mutex_trylock ##### --> |
| <para> |
| |
| </para> |
| |
| @mutex: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_mutex_unlock ##### --> |
| <para> |
| |
| </para> |
| |
| @mutex: |
| |
| |
| <!-- ##### FUNCTION g_mutex_free ##### --> |
| <para> |
| |
| </para> |
| |
| @mutex: |
| |
| |
| <!-- ##### STRUCT GStaticMutex ##### --> |
| <para> |
| |
| </para> |
| |
| |
| <!-- ##### MACRO G_STATIC_MUTEX_INIT ##### --> |
| <para> |
| |
| </para> |
| |
| |
| |
| <!-- ##### FUNCTION g_static_mutex_init ##### --> |
| <para> |
| |
| </para> |
| |
| @mutex: |
| |
| |
| <!-- ##### FUNCTION g_static_mutex_lock ##### --> |
| <para> |
| |
| </para> |
| |
| @mutex: |
| |
| |
| <!-- ##### FUNCTION g_static_mutex_trylock ##### --> |
| <para> |
| |
| </para> |
| |
| @mutex: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_static_mutex_unlock ##### --> |
| <para> |
| |
| </para> |
| |
| @mutex: |
| |
| |
| <!-- ##### FUNCTION g_static_mutex_get_mutex ##### --> |
| <para> |
| |
| </para> |
| |
| @mutex: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_static_mutex_free ##### --> |
| <para> |
| |
| </para> |
| |
| @mutex: |
| |
| |
| <!-- ##### MACRO G_LOCK_DEFINE ##### --> |
| <para> |
| |
| </para> |
| |
| @name: |
| |
| |
| <!-- ##### MACRO G_LOCK_DEFINE_STATIC ##### --> |
| <para> |
| |
| </para> |
| |
| @name: |
| |
| |
| <!-- ##### MACRO G_LOCK_EXTERN ##### --> |
| <para> |
| |
| </para> |
| |
| @name: |
| |
| |
| <!-- ##### MACRO G_LOCK ##### --> |
| <para> |
| |
| </para> |
| |
| @name: |
| |
| |
| <!-- ##### MACRO G_TRYLOCK ##### --> |
| <para> |
| |
| </para> |
| |
| @name: |
| |
| |
| <!-- ##### MACRO G_UNLOCK ##### --> |
| <para> |
| |
| </para> |
| |
| @name: |
| |
| |
| <!-- ##### STRUCT GStaticRecMutex ##### --> |
| <para> |
| |
| </para> |
| |
| |
| <!-- ##### MACRO G_STATIC_REC_MUTEX_INIT ##### --> |
| <para> |
| |
| </para> |
| |
| |
| |
| <!-- ##### FUNCTION g_static_rec_mutex_init ##### --> |
| <para> |
| |
| </para> |
| |
| @mutex: |
| |
| |
| <!-- ##### FUNCTION g_static_rec_mutex_lock ##### --> |
| <para> |
| |
| </para> |
| |
| @mutex: |
| |
| |
| <!-- ##### FUNCTION g_static_rec_mutex_trylock ##### --> |
| <para> |
| |
| </para> |
| |
| @mutex: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_static_rec_mutex_unlock ##### --> |
| <para> |
| |
| </para> |
| |
| @mutex: |
| |
| |
| <!-- ##### FUNCTION g_static_rec_mutex_lock_full ##### --> |
| <para> |
| |
| </para> |
| |
| @mutex: |
| @depth: |
| |
| |
| <!-- ##### FUNCTION g_static_rec_mutex_unlock_full ##### --> |
| <para> |
| |
| </para> |
| |
| @mutex: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_static_rec_mutex_free ##### --> |
| <para> |
| |
| </para> |
| |
| @mutex: |
| |
| |
| <!-- ##### STRUCT GStaticRWLock ##### --> |
| <para> |
| |
| </para> |
| |
| |
| <!-- ##### MACRO G_STATIC_RW_LOCK_INIT ##### --> |
| <para> |
| |
| </para> |
| |
| |
| |
| <!-- ##### FUNCTION g_static_rw_lock_init ##### --> |
| <para> |
| |
| </para> |
| |
| @lock: |
| |
| |
| <!-- ##### FUNCTION g_static_rw_lock_reader_lock ##### --> |
| <para> |
| |
| </para> |
| |
| @lock: |
| |
| |
| <!-- ##### FUNCTION g_static_rw_lock_reader_trylock ##### --> |
| <para> |
| |
| </para> |
| |
| @lock: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_static_rw_lock_reader_unlock ##### --> |
| <para> |
| |
| </para> |
| |
| @lock: |
| |
| |
| <!-- ##### FUNCTION g_static_rw_lock_writer_lock ##### --> |
| <para> |
| |
| </para> |
| |
| @lock: |
| |
| |
| <!-- ##### FUNCTION g_static_rw_lock_writer_trylock ##### --> |
| <para> |
| |
| </para> |
| |
| @lock: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_static_rw_lock_writer_unlock ##### --> |
| <para> |
| |
| </para> |
| |
| @lock: |
| |
| |
| <!-- ##### FUNCTION g_static_rw_lock_free ##### --> |
| <para> |
| |
| </para> |
| |
| @lock: |
| |
| |
| <!-- ##### STRUCT GCond ##### --> |
| <para> |
| |
| </para> |
| |
| |
| <!-- ##### FUNCTION g_cond_new ##### --> |
| <para> |
| |
| </para> |
| |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_cond_signal ##### --> |
| <para> |
| |
| </para> |
| |
| @cond: |
| |
| |
| <!-- ##### FUNCTION g_cond_broadcast ##### --> |
| <para> |
| |
| </para> |
| |
| @cond: |
| |
| |
| <!-- ##### FUNCTION g_cond_wait ##### --> |
| <para> |
| |
| </para> |
| |
| @cond: |
| @mutex: |
| |
| |
| <!-- ##### FUNCTION g_cond_timed_wait ##### --> |
| <para> |
| |
| </para> |
| |
| @cond: |
| @mutex: |
| @abs_time: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_cond_free ##### --> |
| <para> |
| |
| </para> |
| |
| @cond: |
| |
| |
| <!-- ##### STRUCT GPrivate ##### --> |
| <para> |
| |
| </para> |
| |
| |
| <!-- ##### FUNCTION g_private_new ##### --> |
| <para> |
| |
| </para> |
| |
| @destructor: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_private_get ##### --> |
| <para> |
| |
| </para> |
| |
| @private_key: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_private_set ##### --> |
| <para> |
| |
| </para> |
| |
| @private_key: |
| @data: |
| |
| |
| <!-- ##### STRUCT GStaticPrivate ##### --> |
| <para> |
| |
| </para> |
| |
| |
| <!-- ##### MACRO G_STATIC_PRIVATE_INIT ##### --> |
| <para> |
| |
| </para> |
| |
| |
| |
| <!-- ##### FUNCTION g_static_private_init ##### --> |
| <para> |
| |
| </para> |
| |
| @private_key: |
| |
| |
| <!-- ##### FUNCTION g_static_private_get ##### --> |
| <para> |
| |
| </para> |
| |
| @private_key: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_static_private_set ##### --> |
| <para> |
| |
| </para> |
| |
| @private_key: |
| @data: |
| @notify: |
| |
| |
| <!-- ##### FUNCTION g_static_private_free ##### --> |
| <para> |
| |
| </para> |
| |
| @private_key: |
| |
| |
| <!-- ##### STRUCT GOnce ##### --> |
| <para> |
| |
| </para> |
| |
| @status: |
| @retval: |
| |
| <!-- ##### ENUM GOnceStatus ##### --> |
| <para> |
| |
| </para> |
| |
| @G_ONCE_STATUS_NOTCALLED: |
| @G_ONCE_STATUS_PROGRESS: |
| @G_ONCE_STATUS_READY: |
| |
| <!-- ##### MACRO G_ONCE_INIT ##### --> |
| <para> |
| |
| </para> |
| |
| |
| |
| <!-- ##### MACRO g_once ##### --> |
| <para> |
| |
| </para> |
| |
| @once: |
| @func: |
| @arg: |
| |
| |
| <!-- ##### FUNCTION g_once_init_enter ##### --> |
| <para> |
| |
| </para> |
| |
| @value_location: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_once_init_leave ##### --> |
| <para> |
| |
| </para> |
| |
| @value_location: |
| @initialization_value: |
| |
| |
| <!-- ##### FUNCTION g_bit_lock ##### --> |
| <para> |
| |
| </para> |
| |
| @address: |
| @lock_bit: |
| |
| |
| <!-- ##### FUNCTION g_bit_trylock ##### --> |
| <para> |
| |
| </para> |
| |
| @address: |
| @lock_bit: |
| @Returns: |
| |
| |
| <!-- ##### FUNCTION g_bit_unlock ##### --> |
| <para> |
| |
| </para> |
| |
| @address: |
| @lock_bit: |
| |
| |