X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=glib%2Fgthreadprivate.h;h=198b29a6ecb6952d33484ca9713f982802b8ed75;hb=d0083f7e2dd621c6b78496bdb6ecf5d580c5e110;hp=8ee465b31585f9619a7490922192e57a29e84fb6;hpb=413186a962973cff5dfbee66ef920016f4cb5c2d;p=platform%2Fupstream%2Fglib.git diff --git a/glib/gthreadprivate.h b/glib/gthreadprivate.h index 8ee465b..198b29a 100644 --- a/glib/gthreadprivate.h +++ b/glib/gthreadprivate.h @@ -16,50 +16,45 @@ * * You should have received a copy of the GNU Lesser General Public * License along with the Gnome Library; see the file COPYING.LIB. If not, - * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * see . */ #ifndef __G_THREADPRIVATE_H__ #define __G_THREADPRIVATE_H__ -G_BEGIN_DECLS +#include "deprecated/gthread.h" -/* System thread identifier comparison and assignment */ -#if GLIB_SIZEOF_SYSTEM_THREAD == SIZEOF_VOID_P -# define g_system_thread_equal_simple(thread1, thread2) \ - ((thread1).dummy_pointer == (thread2).dummy_pointer) -# define g_system_thread_assign(dest, src) \ - ((dest).dummy_pointer = (src).dummy_pointer) -#else /* GLIB_SIZEOF_SYSTEM_THREAD != SIZEOF_VOID_P */ -# define g_system_thread_equal_simple(thread1, thread2) \ - (memcmp (&(thread1), &(thread2), GLIB_SIZEOF_SYSTEM_THREAD) == 0) -# define g_system_thread_assign(dest, src) \ - (memcpy (&(dest), &(src), GLIB_SIZEOF_SYSTEM_THREAD)) -#endif /* GLIB_SIZEOF_SYSTEM_THREAD == SIZEOF_VOID_P */ +typedef struct _GRealThread GRealThread; +struct _GRealThread +{ + GThread thread; -#define g_system_thread_equal(thread1, thread2) \ - (g_thread_functions_for_glib_use.thread_equal ? \ - g_thread_functions_for_glib_use.thread_equal (&(thread1), &(thread2)) :\ - g_system_thread_equal_simple((thread1), (thread2))) + gint ref_count; + gboolean ours; + gchar *name; + gpointer retval; +}; -/* Is called from gthread/gthread-impl.c */ -void g_thread_init_glib (void); +/* system thread implementation (gthread-posix.c, gthread-win32.c) */ +void g_system_thread_wait (GRealThread *thread); -/* base initializers, may only use g_mutex_new(), g_cond_new() */ -G_GNUC_INTERNAL void _g_mem_thread_init_noprivate_nomessage (void); -/* initializers that may also use g_private_new() */ -G_GNUC_INTERNAL void _g_slice_thread_init_nomessage (void); -G_GNUC_INTERNAL void _g_messages_thread_init_nomessage (void); +GRealThread * g_system_thread_new (GThreadFunc func, + gulong stack_size, + GError **error); +void g_system_thread_free (GRealThread *thread); -/* full fledged initializers */ -G_GNUC_INTERNAL void _g_convert_thread_init (void); -G_GNUC_INTERNAL void _g_rand_thread_init (void); -G_GNUC_INTERNAL void _g_main_thread_init (void); -G_GNUC_INTERNAL void _g_atomic_thread_init (void); -G_GNUC_INTERNAL void _g_utils_thread_init (void); -G_GNUC_INTERNAL void _g_thread_impl_init (void); +void g_system_thread_exit (void); +void g_system_thread_set_name (const gchar *name); -G_END_DECLS + +/* gthread.c */ +GThread * g_thread_new_internal (const gchar *name, + GThreadFunc proxy, + GThreadFunc func, + gpointer data, + gsize stack_size, + GError **error); + +gpointer g_thread_proxy (gpointer thread); #endif /* __G_THREADPRIVATE_H__ */