Add an exception: g_mem_set_vtable() may be called before g_thread_init().

2008-08-15  Tor Lillqvist  <tml@novell.com>

	* glib/tmpl/threads.sgml: Add an exception: g_mem_set_vtable() may
	be called before g_thread_init().


svn path=/trunk/; revision=7361
This commit is contained in:
Tor Lillqvist 2008-08-15 13:15:22 +00:00 committed by Tor Lillqvist
parent 8f1f0ffe78
commit 2c73140cc1
2 changed files with 13 additions and 7 deletions

View File

@ -1,3 +1,8 @@
2008-08-15 Tor Lillqvist <tml@novell.com>
* glib/tmpl/threads.sgml: Add an exception: g_mem_set_vtable() may
be called before g_thread_init().
2008-08-15 Tor Lillqvist <tml@novell.com>
* glib/tmpl/threads.sgml: Warn about the consequences of not

View File

@ -34,14 +34,15 @@ primitives to portably create and manage threads (#GThread).
<para>
You must call g_thread_init() before executing any other GLib
functions in a GLib program if g_thread_init() will be called at
all. This is a requirement even if no threads are in fact ever created
by the process. It is enough that g_thread_init() is called. If other
GLib functions have been called before that, the behaviour of the
program is undefined.
functions (except g_mem_set_vtable()) in a GLib program if
g_thread_init() will be called at all. This is a requirement even if
no threads are in fact ever created by the process. It is enough that
g_thread_init() is called. If other GLib functions have been called
before that, the behaviour of the program is undefined. An exception
is g_mem_set_vtable() which may be called before g_thread_init().
Failing this requirement leads easily to hangs or crashes, apparently
more easily on Windows than on Linux, for example.
Failing this requirement can lead to hangs or crashes, apparently more
easily on Windows than on Linux, for example.
Please note that if you call functions in some GLib-using library, in
particular those above the GTK+ stack, that library might well call