X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=glib%2Fgthread.h;h=3f026f6311443cdd225e5aa38e161fa4308a3ba8;hb=ea4f9ce8a060d53cbc299e4c384089f6cc926caa;hp=6400f69baa50b0cded88d36dcac1dfb394609019;hpb=430c5635f245ca485f09035f1b6c3a59dd69758c;p=platform%2Fupstream%2Fglib.git diff --git a/glib/gthread.h b/glib/gthread.h index 6400f69..3f026f6 100644 --- a/glib/gthread.h +++ b/glib/gthread.h @@ -12,9 +12,7 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, - * USA. + * License along with this library; if not, see . */ /* @@ -24,19 +22,20 @@ * GLib at ftp://ftp.gtk.org/pub/gtk/. */ +#ifndef __G_THREAD_H__ +#define __G_THREAD_H__ + #if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) #error "Only can be included directly." #endif -#ifndef __G_THREAD_H__ -#define __G_THREAD_H__ - #include #include G_BEGIN_DECLS #define G_THREAD_ERROR g_thread_error_quark () +GLIB_AVAILABLE_IN_ALL GQuark g_thread_error_quark (void); typedef enum @@ -137,70 +136,100 @@ struct _GOnce # define G_TRYLOCK(name) g_mutex_trylock (&G_LOCK_NAME (name)) #endif /* !G_DEBUG_LOCKS */ +GLIB_AVAILABLE_IN_2_32 GThread * g_thread_ref (GThread *thread); +GLIB_AVAILABLE_IN_2_32 void g_thread_unref (GThread *thread); +GLIB_AVAILABLE_IN_2_32 GThread * g_thread_new (const gchar *name, GThreadFunc func, gpointer data); -GThread * g_thread_try (const gchar *name, +GLIB_AVAILABLE_IN_2_32 +GThread * g_thread_try_new (const gchar *name, GThreadFunc func, gpointer data, GError **error); -GThread * g_thread_new_full (const gchar *name, - GThreadFunc func, - gpointer data, - gsize stack_size, - GError **error); +GLIB_AVAILABLE_IN_ALL GThread * g_thread_self (void); +GLIB_AVAILABLE_IN_ALL void g_thread_exit (gpointer retval); +GLIB_AVAILABLE_IN_ALL gpointer g_thread_join (GThread *thread); +GLIB_AVAILABLE_IN_ALL void g_thread_yield (void); +GLIB_AVAILABLE_IN_2_32 void g_mutex_init (GMutex *mutex); +GLIB_AVAILABLE_IN_2_32 void g_mutex_clear (GMutex *mutex); +GLIB_AVAILABLE_IN_ALL void g_mutex_lock (GMutex *mutex); +GLIB_AVAILABLE_IN_ALL gboolean g_mutex_trylock (GMutex *mutex); +GLIB_AVAILABLE_IN_ALL void g_mutex_unlock (GMutex *mutex); +GLIB_AVAILABLE_IN_2_32 void g_rw_lock_init (GRWLock *rw_lock); +GLIB_AVAILABLE_IN_2_32 void g_rw_lock_clear (GRWLock *rw_lock); +GLIB_AVAILABLE_IN_2_32 void g_rw_lock_writer_lock (GRWLock *rw_lock); +GLIB_AVAILABLE_IN_2_32 gboolean g_rw_lock_writer_trylock (GRWLock *rw_lock); +GLIB_AVAILABLE_IN_2_32 void g_rw_lock_writer_unlock (GRWLock *rw_lock); +GLIB_AVAILABLE_IN_2_32 void g_rw_lock_reader_lock (GRWLock *rw_lock); +GLIB_AVAILABLE_IN_2_32 gboolean g_rw_lock_reader_trylock (GRWLock *rw_lock); +GLIB_AVAILABLE_IN_2_32 void g_rw_lock_reader_unlock (GRWLock *rw_lock); +GLIB_AVAILABLE_IN_2_32 void g_rec_mutex_init (GRecMutex *rec_mutex); +GLIB_AVAILABLE_IN_2_32 void g_rec_mutex_clear (GRecMutex *rec_mutex); +GLIB_AVAILABLE_IN_2_32 void g_rec_mutex_lock (GRecMutex *rec_mutex); +GLIB_AVAILABLE_IN_2_32 gboolean g_rec_mutex_trylock (GRecMutex *rec_mutex); +GLIB_AVAILABLE_IN_2_32 void g_rec_mutex_unlock (GRecMutex *rec_mutex); +GLIB_AVAILABLE_IN_2_32 void g_cond_init (GCond *cond); +GLIB_AVAILABLE_IN_2_32 void g_cond_clear (GCond *cond); +GLIB_AVAILABLE_IN_ALL void g_cond_wait (GCond *cond, GMutex *mutex); +GLIB_AVAILABLE_IN_ALL void g_cond_signal (GCond *cond); +GLIB_AVAILABLE_IN_ALL void g_cond_broadcast (GCond *cond); -gboolean g_cond_timed_wait (GCond *cond, +GLIB_AVAILABLE_IN_2_32 +gboolean g_cond_wait_until (GCond *cond, GMutex *mutex, - GTimeVal *timeval); -gboolean g_cond_timedwait (GCond *cond, - GMutex *mutex, - gint64 abs_time); + gint64 end_time); +GLIB_AVAILABLE_IN_ALL gpointer g_private_get (GPrivate *key); +GLIB_AVAILABLE_IN_ALL void g_private_set (GPrivate *key, gpointer value); +GLIB_AVAILABLE_IN_2_32 void g_private_replace (GPrivate *key, gpointer value); +GLIB_AVAILABLE_IN_ALL gpointer g_once_impl (GOnce *once, GThreadFunc func, gpointer arg); +GLIB_AVAILABLE_IN_ALL gboolean g_once_init_enter (volatile void *location); +GLIB_AVAILABLE_IN_ALL void g_once_init_leave (volatile void *location, gsize result); @@ -234,6 +263,9 @@ void g_once_init_leave (volatile void *location, (g_once_init_leave((location), (gsize) (result))) #endif +GLIB_AVAILABLE_IN_2_36 +guint g_get_num_processors (void); + G_END_DECLS #endif /* __G_THREAD_H__ */