blob: 25ee7590037a431e946d31177a97cd3ca54fb715 [file] [log] [blame]
<!-- ##### 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: