X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=glib%2Fgthreadprivate.h;h=198b29a6ecb6952d33484ca9713f982802b8ed75;hb=30ed5f53e205e6bfc35126a9d3c62dac8a9c5dad;hp=479d3e072741daae57862e71005e71e39d2a3bc9;hpb=f788a2e5e1f7c9898675d3876367e2cf7d55f386;p=platform%2Fupstream%2Fglib.git diff --git a/glib/gthreadprivate.h b/glib/gthreadprivate.h index 479d3e0..198b29a 100644 --- a/glib/gthreadprivate.h +++ b/glib/gthreadprivate.h @@ -16,73 +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__ #include "deprecated/gthread.h" -#include "garray.h" -#include "gslist.h" - -G_BEGIN_DECLS - -/* System thread identifier comparison and assignment */ -#if GLIB_SIZEOF_SYSTEM_THREAD == SIZEOF_VOID_P -# 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_assign(dest, src) \ - (memcpy (&(dest), &(src), GLIB_SIZEOF_SYSTEM_THREAD)) -#endif /* GLIB_SIZEOF_SYSTEM_THREAD == SIZEOF_VOID_P */ - -G_GNUC_INTERNAL void g_system_thread_self (gpointer thread); -G_GNUC_INTERNAL void g_system_thread_join (gpointer thread); -G_GNUC_INTERNAL void g_system_thread_create (GThreadFunc func, - gpointer data, - gulong stack_size, - gboolean joinable, - gpointer thread, - GError **error); -G_GNUC_INTERNAL gboolean g_system_thread_equal (gpointer thread1, - gpointer thread2); - -G_GNUC_INTERNAL void g_system_thread_exit (void); -G_GNUC_INTERNAL void g_system_thread_set_name (const gchar *name); - -G_GNUC_INTERNAL GThread *g_thread_new_internal (const gchar *name, - GThreadFunc func, - gpointer data, - gboolean joinable, - gsize stack_size, - gboolean enumerable, - GError **error); typedef struct _GRealThread GRealThread; struct _GRealThread { GThread thread; - GRealThread *next; - const gchar *name; - gboolean enumerable; + + gint ref_count; + gboolean ours; + gchar *name; gpointer retval; - GSystemThread system_thread; }; -G_GNUC_INTERNAL extern GSystemThread zero_thread; -G_GNUC_INTERNAL extern GMutex g_once_mutex; +/* system thread implementation (gthread-posix.c, gthread-win32.c) */ +void g_system_thread_wait (GRealThread *thread); + +GRealThread * g_system_thread_new (GThreadFunc func, + gulong stack_size, + GError **error); +void g_system_thread_free (GRealThread *thread); -G_GNUC_INTERNAL void g_enumerable_thread_add (GRealThread *thread); +void g_system_thread_exit (void); +void g_system_thread_set_name (const gchar *name); -/* initializers that may also use g_private_new() */ -G_GNUC_INTERNAL void _g_messages_thread_init_nomessage (void); -#ifdef G_OS_WIN32 -G_GNUC_INTERNAL void g_thread_DllMain (void); -#endif +/* gthread.c */ +GThread * g_thread_new_internal (const gchar *name, + GThreadFunc proxy, + GThreadFunc func, + gpointer data, + gsize stack_size, + GError **error); -G_END_DECLS +gpointer g_thread_proxy (gpointer thread); #endif /* __G_THREADPRIVATE_H__ */