Skip to content
This repository has been archived by the owner on Nov 17, 2020. It is now read-only.

Commit

Permalink
Make this function thread-safe in the GLib style.
Browse files Browse the repository at this point in the history
2004-10-26  Matthias Clasen  <mclasen@redhat.com>

	* 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.
  • Loading branch information
Matthias Clasen authored and Matthias Clasen committed Oct 26, 2004
1 parent d59b22a commit 9b66aa4
Show file tree
Hide file tree
Showing 8 changed files with 73 additions and 7 deletions.
10 changes: 10 additions & 0 deletions ChangeLog
@@ -1,3 +1,13 @@
2004-10-26 Matthias Clasen <mclasen@redhat.com>

* 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 <rstrode@redhat.com>

* glib/gkeyfile.c: Add Matthias to "Written by" lines
Expand Down
10 changes: 10 additions & 0 deletions ChangeLog.pre-2-10
@@ -1,3 +1,13 @@
2004-10-26 Matthias Clasen <mclasen@redhat.com>

* 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 <rstrode@redhat.com>

* glib/gkeyfile.c: Add Matthias to "Written by" lines
Expand Down
10 changes: 10 additions & 0 deletions ChangeLog.pre-2-12
@@ -1,3 +1,13 @@
2004-10-26 Matthias Clasen <mclasen@redhat.com>

* 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 <rstrode@redhat.com>

* glib/gkeyfile.c: Add Matthias to "Written by" lines
Expand Down
10 changes: 10 additions & 0 deletions ChangeLog.pre-2-6
@@ -1,3 +1,13 @@
2004-10-26 Matthias Clasen <mclasen@redhat.com>

* 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 <rstrode@redhat.com>

* glib/gkeyfile.c: Add Matthias to "Written by" lines
Expand Down
10 changes: 10 additions & 0 deletions ChangeLog.pre-2-8
@@ -1,3 +1,13 @@
2004-10-26 Matthias Clasen <mclasen@redhat.com>

* 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 <rstrode@redhat.com>

* glib/gkeyfile.c: Add Matthias to "Written by" lines
Expand Down
1 change: 1 addition & 0 deletions glib/gthread.c
Expand Up @@ -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;

Expand Down
1 change: 1 addition & 0 deletions glib/gthreadinit.h
Expand Up @@ -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;
Expand Down
28 changes: 21 additions & 7 deletions glib/gwin32.c
Expand Up @@ -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;
}

0 comments on commit 9b66aa4

Please sign in to comment.