From: Matthias Clasen Date: Tue, 26 Oct 2004 14:04:52 +0000 (+0000) Subject: Make this function thread-safe in the GLib style. X-Git-Url: http://git.openbox.org/?a=commitdiff_plain;h=9b66aa4222c1b38d8a10cbdf4672526c0306356e;p=dana%2Fcg-glib.git Make this function thread-safe in the GLib style. 2004-10-26 Matthias Clasen * glib/gwin32.c (g_win32_get_windows_version): Make this function thread-safe in the GLib style. * glib/gthreadinit.h: * glib/gwin32.c (_g_win32_thread_init): New function to initialize the version. * glib/gthread.c (g_thread_init_glib): Call _g_win32_thread_init() from here. --- diff --git a/ChangeLog b/ChangeLog index 207146a6..08771e0e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2004-10-26 Matthias Clasen + + * glib/gwin32.c (g_win32_get_windows_version): Make this + function thread-safe in the GLib style. + * glib/gthreadinit.h: + * glib/gwin32.c (_g_win32_thread_init): New function to + initialize the version. + * glib/gthread.c (g_thread_init_glib): Call + _g_win32_thread_init() from here. + 2004-10-26 Ray Strode * glib/gkeyfile.c: Add Matthias to "Written by" lines diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 207146a6..08771e0e 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,13 @@ +2004-10-26 Matthias Clasen + + * glib/gwin32.c (g_win32_get_windows_version): Make this + function thread-safe in the GLib style. + * glib/gthreadinit.h: + * glib/gwin32.c (_g_win32_thread_init): New function to + initialize the version. + * glib/gthread.c (g_thread_init_glib): Call + _g_win32_thread_init() from here. + 2004-10-26 Ray Strode * glib/gkeyfile.c: Add Matthias to "Written by" lines diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12 index 207146a6..08771e0e 100644 --- a/ChangeLog.pre-2-12 +++ b/ChangeLog.pre-2-12 @@ -1,3 +1,13 @@ +2004-10-26 Matthias Clasen + + * glib/gwin32.c (g_win32_get_windows_version): Make this + function thread-safe in the GLib style. + * glib/gthreadinit.h: + * glib/gwin32.c (_g_win32_thread_init): New function to + initialize the version. + * glib/gthread.c (g_thread_init_glib): Call + _g_win32_thread_init() from here. + 2004-10-26 Ray Strode * glib/gkeyfile.c: Add Matthias to "Written by" lines diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 207146a6..08771e0e 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,13 @@ +2004-10-26 Matthias Clasen + + * glib/gwin32.c (g_win32_get_windows_version): Make this + function thread-safe in the GLib style. + * glib/gthreadinit.h: + * glib/gwin32.c (_g_win32_thread_init): New function to + initialize the version. + * glib/gthread.c (g_thread_init_glib): Call + _g_win32_thread_init() from here. + 2004-10-26 Ray Strode * glib/gkeyfile.c: Add Matthias to "Written by" lines diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 207146a6..08771e0e 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,13 @@ +2004-10-26 Matthias Clasen + + * glib/gwin32.c (g_win32_get_windows_version): Make this + function thread-safe in the GLib style. + * glib/gthreadinit.h: + * glib/gwin32.c (_g_win32_thread_init): New function to + initialize the version. + * glib/gthread.c (g_thread_init_glib): Call + _g_win32_thread_init() from here. + 2004-10-26 Ray Strode * glib/gkeyfile.c: Add Matthias to "Written by" lines diff --git a/glib/gthread.c b/glib/gthread.c index 9505b159..55225a6e 100644 --- a/glib/gthread.c +++ b/glib/gthread.c @@ -152,6 +152,7 @@ g_thread_init_glib (void) _g_mem_thread_init (); _g_messages_thread_init (); _g_atomic_thread_init (); + _g_win32_thread_init (); g_threads_got_initialized = TRUE; diff --git a/glib/gthreadinit.h b/glib/gthreadinit.h index a7242d27..0af3b60a 100644 --- a/glib/gthreadinit.h +++ b/glib/gthreadinit.h @@ -33,6 +33,7 @@ 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_win32_thread_init (void) G_GNUC_INTERNAL; /* Are called from glib/gthread.c. Must only contain g_private_new calls */ void _g_mem_thread_private_init (void) G_GNUC_INTERNAL; diff --git a/glib/gwin32.c b/glib/gwin32.c index 05d49b32..17fcf6ce 100644 --- a/glib/gwin32.c +++ b/glib/gwin32.c @@ -1278,19 +1278,33 @@ g_win32_get_package_installation_subdirectory (gchar *package, return dirname; } -guint -g_win32_get_windows_version (void) +static guint windows_version; + +static void +g_win32_windows_version_init (void) { static gboolean beenhere = FALSE; - static guint version; if (!beenhere) { + beenhere = TRUE; if (getenv ("G_WIN32_PRETEND_WIN9X")) - version = 0x80000004; + windows_version = 0x80000004; else - version = GetVersion (); - beenhere = TRUE; + windows_version = GetVersion (); } - return version; +} + +void +_g_win32_thread_init (void) +{ + g_win32_windows_version_init (); +} + +guint +g_win32_get_windows_version (void) +{ + g_win32_windows_version_init (); + + return windows_version; }