gthread.h File Reference

API published in:
API deprecated in:


#include <_ansi.h>
#include <glib/gerror.h>
#include <glib/gtypes.h>
#include <glib/gatomic.h>

Go to the source code of this file.


Data Structures

struct   _GThread
struct   _GThreadFunctions
struct   _GStaticPrivate
struct   _GStaticRecMutex
struct   _GStaticRWLock
struct   _GOnce

Defines

#define  G_THREAD_ERROR   g_thread_error_quark ()
#define  g_thread_supported()   (g_threads_got_initialized)
#define  G_MUTEX_DEBUG_MAGIC   0xf8e18ad7
#define  g_static_mutex_get_mutex_impl_shortcut(mutex)
#define  G_THREAD_UF(op, arglist)   (*g_thread_functions_for_glib_use . op) arglist
#define  G_THREAD_CF(op, fail, arg)   (g_thread_supported () ? G_THREAD_UF (op, arg) : (fail))
#define  G_THREAD_ECF(op, fail, mutex, type)
#define  g_mutex_lock(mutex)   G_THREAD_CF (mutex_lock, (void)0, (mutex))
#define  g_mutex_trylock(mutex)   G_THREAD_CF (mutex_trylock, TRUE, (mutex))
#define  g_mutex_unlock(mutex)   G_THREAD_CF (mutex_unlock, (void)0, (mutex))
#define  g_mutex_free(mutex)   G_THREAD_CF (mutex_free, (void)0, (mutex))
#define  g_cond_wait(cond, mutex)   G_THREAD_CF (cond_wait, (void)0, (cond, mutex))
#define  g_cond_timed_wait(cond, mutex, abs_time)   G_THREAD_CF (cond_timed_wait, TRUE, (cond, mutex, abs_time))
#define  g_mutex_new()   G_THREAD_UF (mutex_new, ())
#define  g_cond_new()   G_THREAD_UF (cond_new, ())
#define  g_cond_signal(cond)   G_THREAD_CF (cond_signal, (void)0, (cond))
#define  g_cond_broadcast(cond)   G_THREAD_CF (cond_broadcast, (void)0, (cond))
#define  g_cond_free(cond)   G_THREAD_CF (cond_free, (void)0, (cond))
#define  g_private_new(destructor)   G_THREAD_UF (private_new, (destructor))
#define  g_private_get(private_key)
#define  g_private_set(private_key, value)
#define  g_thread_yield()   G_THREAD_CF (thread_yield, (void)0, ())
#define  g_thread_create(func, data, joinable, error)
#define  g_static_mutex_lock(mutex)   g_mutex_lock (g_static_mutex_get_mutex (mutex))
#define  g_static_mutex_trylock(mutex)   g_mutex_trylock (g_static_mutex_get_mutex (mutex))
#define  g_static_mutex_unlock(mutex)   g_mutex_unlock (g_static_mutex_get_mutex (mutex))
#define  G_STATIC_PRIVATE_INIT   { 0 }
#define  G_STATIC_REC_MUTEX_INIT   { G_STATIC_MUTEX_INIT }
#define  G_STATIC_RW_LOCK_INIT   { G_STATIC_MUTEX_INIT, NULL, NULL, 0, FALSE, 0, 0 }
#define  G_ONCE_INIT   { G_ONCE_STATUS_NOTCALLED, NULL }
#define  g_once(once, func, arg)
#define  G_LOCK_NAME(name)   g__ ## name ## _lock
#define  G_LOCK_DEFINE_STATIC(name)   extern void glib_dummy_decl (void)
#define  G_LOCK_DEFINE(name)   extern void glib_dummy_decl (void)
#define  G_LOCK_EXTERN(name)   extern void glib_dummy_decl (void)
#define  G_LOCK(name)
#define  G_UNLOCK(name)
#define  G_TRYLOCK(name)   (TRUE)

Typedefs

typedef gpointer(*  GThreadFunc )(gpointer data)
typedef _GThread  GThread
typedef _GMutex  GMutex
typedef _GCond  GCond
typedef _GPrivate  GPrivate
typedef _GStaticPrivate  GStaticPrivate
typedef _GThreadFunctions  GThreadFunctions
typedef _GStaticRecMutex  GStaticRecMutex
typedef _GStaticRWLock  GStaticRWLock
typedef _GOnce  GOnce

Enumerations

enum   GThreadError { G_THREAD_ERROR_AGAIN }
enum   GThreadPriority { G_THREAD_PRIORITY_LOW, G_THREAD_PRIORITY_NORMAL, G_THREAD_PRIORITY_HIGH, G_THREAD_PRIORITY_URGENT }
enum   GOnceStatus { G_ONCE_STATUS_NOTCALLED, G_ONCE_STATUS_PROGRESS, G_ONCE_STATUS_READY }

Functions

G_BEGIN_DECLS GQuark  g_thread_error_quark (void)
IMPORT_C void  g_thread_init (GThreadFunctions *vtable)
IMPORT_C void  g_thread_init_with_errorcheck_mutexes (GThreadFunctions *vtable)
IMPORT_C GMutex g_static_mutex_get_mutex_impl (GMutex **mutex)
IMPORT_C GThread g_thread_create_full (GThreadFunc func, gpointer data, gulong stack_size, gboolean joinable, gboolean bound, GThreadPriority priority, GError **error)
IMPORT_C GThread g_thread_self (void)
IMPORT_C void  g_thread_exit (gpointer retval)
IMPORT_C gpointer  g_thread_join (GThread *thread)
IMPORT_C void  g_thread_set_priority (GThread *thread, GThreadPriority priority)
IMPORT_C void  g_static_mutex_init (GStaticMutex *mutex)
IMPORT_C void  g_static_mutex_free (GStaticMutex *mutex)
IMPORT_C void  g_static_private_init (GStaticPrivate *private_key)
IMPORT_C gpointer  g_static_private_get (GStaticPrivate *private_key)
IMPORT_C void  g_static_private_set (GStaticPrivate *private_key, gpointer data, GDestroyNotify notify)
IMPORT_C void  g_static_private_free (GStaticPrivate *private_key)
IMPORT_C void  g_static_rec_mutex_init (GStaticRecMutex *mutex)
IMPORT_C void  g_static_rec_mutex_lock (GStaticRecMutex *mutex)
IMPORT_C gboolean  g_static_rec_mutex_trylock (GStaticRecMutex *mutex)
IMPORT_C void  g_static_rec_mutex_unlock (GStaticRecMutex *mutex)
IMPORT_C void  g_static_rec_mutex_lock_full (GStaticRecMutex *mutex, guint depth)
IMPORT_C guint  g_static_rec_mutex_unlock_full (GStaticRecMutex *mutex)
IMPORT_C void  g_static_rec_mutex_free (GStaticRecMutex *mutex)
IMPORT_C void  g_static_rw_lock_init (GStaticRWLock *lock)
IMPORT_C void  g_static_rw_lock_reader_lock (GStaticRWLock *lock)
IMPORT_C gboolean  g_static_rw_lock_reader_trylock (GStaticRWLock *lock)
IMPORT_C void  g_static_rw_lock_reader_unlock (GStaticRWLock *lock)
IMPORT_C void  g_static_rw_lock_writer_lock (GStaticRWLock *lock)
IMPORT_C gboolean  g_static_rw_lock_writer_trylock (GStaticRWLock *lock)
IMPORT_C void  g_static_rw_lock_writer_unlock (GStaticRWLock *lock)
IMPORT_C void  g_static_rw_lock_free (GStaticRWLock *lock)
IMPORT_C void  g_thread_foreach (GFunc thread_func, gpointer user_data)
IMPORT_C gpointer  g_once_impl (GOnce *once, GThreadFunc func, gpointer arg)
void  glib_dummy_decl (void)

Variables

GLIB_VAR GThreadFunctions  g_thread_functions_for_glib_use
GLIB_VAR gboolean  g_thread_use_default_impl
GLIB_VAR gboolean  g_threads_got_initialized

Define Documentation

#define g_cond_broadcast cond   )     G_THREAD_CF (cond_broadcast, (void)0, (cond))
 
#define g_cond_free cond   )     G_THREAD_CF (cond_free, (void)0, (cond))
 
#define g_cond_new
 
 )     G_THREAD_UF (cond_new, ())
 
#define g_cond_signal cond   )     G_THREAD_CF (cond_signal, (void)0, (cond))
 
#define g_cond_timed_wait cond,
mutex,
abs_time   )     G_THREAD_CF (cond_timed_wait, TRUE, (cond, mutex, abs_time))
 
#define g_cond_wait cond,
mutex   )     G_THREAD_CF (cond_wait, (void)0, (cond, mutex))
 
#define G_LOCK name   ) 
 
#define G_LOCK_DEFINE name   )     extern void glib_dummy_decl (void)
 
#define G_LOCK_DEFINE_STATIC name   )     extern void glib_dummy_decl (void)
 
#define G_LOCK_EXTERN name   )     extern void glib_dummy_decl (void)
 
#define G_LOCK_NAME name   )     g__ ## name ## _lock
 
#define G_MUTEX_DEBUG_MAGIC   0xf8e18ad7
 
#define g_mutex_free mutex   )     G_THREAD_CF (mutex_free, (void)0, (mutex))
 
#define g_mutex_lock mutex   )     G_THREAD_CF (mutex_lock, (void)0, (mutex))
 
#define g_mutex_new
 
 )     G_THREAD_UF (mutex_new, ())
 
#define g_mutex_trylock mutex   )     G_THREAD_CF (mutex_trylock, TRUE, (mutex))
 
#define g_mutex_unlock mutex   )     G_THREAD_CF (mutex_unlock, (void)0, (mutex))
 
#define g_once once,
func,
arg   ) 
 

Value:

(((once)->status == G_ONCE_STATUS_READY) ? \
   (once)->retval : \
   g_once_impl ((once), (func), (arg)))
#define G_ONCE_INIT   { G_ONCE_STATUS_NOTCALLED, NULL }
 
#define g_private_get private_key   ) 
 

Value:

G_THREAD_CF (private_get, \
                                                ((gpointer)private_key), \
                                                (private_key))
#define g_private_new destructor   )     G_THREAD_UF (private_new, (destructor))
 
#define g_private_set private_key,
value   ) 
 

Value:

G_THREAD_CF (private_set, \
                                                       (void) (private_key = \
                                                        (GPrivate*) (value)), \
                                                       (private_key, value))
#define g_static_mutex_get_mutex_impl_shortcut mutex   ) 
 

Value:

(g_atomic_pointer_get ((gpointer*)(void*)mutex) ? *(mutex) : \
   g_static_mutex_get_mutex_impl (mutex))
#define g_static_mutex_lock mutex   )     g_mutex_lock (g_static_mutex_get_mutex (mutex))
 
#define g_static_mutex_trylock mutex   )     g_mutex_trylock (g_static_mutex_get_mutex (mutex))
 
#define g_static_mutex_unlock mutex   )     g_mutex_unlock (g_static_mutex_get_mutex (mutex))
 
#define G_STATIC_PRIVATE_INIT   { 0 }
 
#define G_STATIC_REC_MUTEX_INIT   { G_STATIC_MUTEX_INIT }
 
#define G_STATIC_RW_LOCK_INIT   { G_STATIC_MUTEX_INIT, NULL, NULL, 0, FALSE, 0, 0 }
 
#define G_THREAD_CF op,
fail,
arg   )     (g_thread_supported () ? G_THREAD_UF (op, arg) : (fail))
 
#define g_thread_create func,
data,
joinable,
error   ) 
 

Value:

(g_thread_create_full (func, data, 0, joinable, FALSE,          \
                         G_THREAD_PRIORITY_NORMAL, error))
#define G_THREAD_ECF op,
fail,
mutex,
type   ) 
 

Value:

#define G_THREAD_ERROR   g_thread_error_quark ()
 
#define g_thread_supported
 
 )     (g_threads_got_initialized)
 
#define G_THREAD_UF op,
arglist   )     (*g_thread_functions_for_glib_use . op) arglist
 
#define g_thread_yield
 
 )     G_THREAD_CF (thread_yield, (void)0, ())
 
#define G_TRYLOCK name   )     (TRUE)
 
#define G_UNLOCK name   ) 
 

Typedef Documentation

typedef struct _GCond GCond
 
typedef struct _GMutex GMutex
 
typedef struct _GOnce GOnce
 
typedef struct _GPrivate GPrivate
 
typedef struct _GStaticPrivate GStaticPrivate
 
typedef struct _GStaticRecMutex GStaticRecMutex
 
typedef struct _GStaticRWLock GStaticRWLock
 
typedef struct _GThread GThread
 
typedef gpointer(* GThreadFunc)(gpointer data)
 
typedef struct _GThreadFunctions GThreadFunctions
 

Enumeration Type Documentation

enum GOnceStatus
 
Enumerator:
G_ONCE_STATUS_NOTCALLED 
G_ONCE_STATUS_PROGRESS 
G_ONCE_STATUS_READY 
enum GThreadError
 
Enumerator:
G_THREAD_ERROR_AGAIN 
enum GThreadPriority
 
Enumerator:
G_THREAD_PRIORITY_LOW 
G_THREAD_PRIORITY_NORMAL 
G_THREAD_PRIORITY_HIGH 
G_THREAD_PRIORITY_URGENT 

Function Documentation

IMPORT_C gpointer g_once_impl GOnce once,
GThreadFunc  func,
gpointer  arg
 
IMPORT_C void g_static_mutex_free GStaticMutex mutex  ) 
 
IMPORT_C GMutex* g_static_mutex_get_mutex_impl GMutex **  mutex  ) 
 
IMPORT_C void g_static_mutex_init GStaticMutex mutex  ) 
 
IMPORT_C void g_static_private_free GStaticPrivate private_key  ) 
 
IMPORT_C gpointer g_static_private_get GStaticPrivate private_key  ) 
 
IMPORT_C void g_static_private_init GStaticPrivate private_key  ) 
 
IMPORT_C void g_static_private_set GStaticPrivate private_key,
gpointer  data,
GDestroyNotify  notify
 
IMPORT_C void g_static_rec_mutex_free GStaticRecMutex mutex  ) 
 
IMPORT_C void g_static_rec_mutex_init GStaticRecMutex mutex  ) 
 
IMPORT_C void g_static_rec_mutex_lock GStaticRecMutex mutex  ) 
 
IMPORT_C void g_static_rec_mutex_lock_full GStaticRecMutex mutex,
guint  depth
 
IMPORT_C gboolean g_static_rec_mutex_trylock GStaticRecMutex mutex  ) 
 
IMPORT_C void g_static_rec_mutex_unlock GStaticRecMutex mutex  ) 
 
IMPORT_C guint g_static_rec_mutex_unlock_full GStaticRecMutex mutex  ) 
 
IMPORT_C void g_static_rw_lock_free GStaticRWLock lock  ) 
 
IMPORT_C void g_static_rw_lock_init GStaticRWLock lock  ) 
 
IMPORT_C void g_static_rw_lock_reader_lock GStaticRWLock lock  ) 
 
IMPORT_C gboolean g_static_rw_lock_reader_trylock GStaticRWLock lock  ) 
 
IMPORT_C void g_static_rw_lock_reader_unlock GStaticRWLock lock  ) 
 
IMPORT_C void g_static_rw_lock_writer_lock GStaticRWLock lock  ) 
 
IMPORT_C gboolean g_static_rw_lock_writer_trylock GStaticRWLock lock  ) 
 
IMPORT_C void g_static_rw_lock_writer_unlock GStaticRWLock lock  ) 
 
IMPORT_C GThread* g_thread_create_full GThreadFunc  func,
gpointer  data,
gulong  stack_size,
gboolean  joinable,
gboolean  bound,
GThreadPriority  priority,
GError **  error
 
G_BEGIN_DECLS GQuark g_thread_error_quark void   ) 
 
IMPORT_C void g_thread_exit gpointer  retval  ) 
 
IMPORT_C void g_thread_foreach GFunc  thread_func,
gpointer  user_data
 
IMPORT_C void g_thread_init GThreadFunctions vtable  ) 
 
IMPORT_C void g_thread_init_with_errorcheck_mutexes GThreadFunctions vtable  ) 
 
IMPORT_C gpointer g_thread_join GThread thread  ) 
 
IMPORT_C GThread* g_thread_self void   ) 
 
IMPORT_C void g_thread_set_priority GThread thread,
GThreadPriority  priority
 
void glib_dummy_decl void   ) 
 

Variable Documentation

GLIB_VAR GThreadFunctions g_thread_functions_for_glib_use
 
GLIB_VAR gboolean g_thread_use_default_impl
 
GLIB_VAR gboolean g_threads_got_initialized
 

Copyright © Nokia Corporation 2001-2008
Back to top