document major caveat of g_private_set/g_private_get, i.e. not retaining
authorTim Janik <timj@imendio.com>
Thu, 12 Jul 2007 13:46:22 +0000 (13:46 +0000)
committerTim Janik <timj@src.gnome.org>
Thu, 12 Jul 2007 13:46:22 +0000 (13:46 +0000)
Thu Jul 12 15:45:27 2007  Tim Janik  <timj@imendio.com>

        * glib/tmpl/threads.sgml: document major caveat of g_private_set/g_private_get,
        i.e. not retaining private data across g_thread_init.

svn path=/trunk/; revision=5628

docs/reference/ChangeLog
docs/reference/glib/tmpl/threads.sgml

index 1a869b2612034c5603176a1c630d857736a09769..de811a19feb5a9b33776c4df35c9a3dd761ad3e3 100644 (file)
@@ -1,3 +1,8 @@
+Thu Jul 12 15:45:27 2007  Tim Janik  <timj@imendio.com>
+
+       * glib/tmpl/threads.sgml: document major caveat of g_private_set/g_private_get,
+       i.e. not retaining private data across g_thread_init.
+
 Tue Jul 10 13:11:55 2007  Tim Janik  <timj@imendio.com>
 
        * glib/tmpl/types.sgml: corrected descriptions of gsize and gssize.
index fa4392d265fddd38d945d374d04c4d7a1420aa9e..6b177cd3cf49af09691dc9ca23e848a141a8fd67 100644 (file)
@@ -1506,8 +1506,12 @@ current @private_key and thread yet, this pointer will be %NULL.
 </para>
 
 <para>
-This function can be used even if g_thread_init() has not yet been
-called, and, in that case, will return the value of @private_key casted to #gpointer.
+This function can be used even if g_thread_init() has not yet been called, and,
+in that case, will return the value of @private_key casted to #gpointer.
+Note however, that private data set <emphasis>before</emphasis> g_thread_init() will
+<emphasis>not</emphasis> be retained <emphasis>after</emphasis> the call. Instead, %NULL
+will be returned in all threads directly after g_thread_init(), regardless of
+any g_private_set() calls issued before threading system intialization.
 </para>
 
 @private_key: a #GPrivate.
@@ -1523,6 +1527,7 @@ Sets the pointer keyed to @private_key for the current thread.
 <para>
 This function can be used even if g_thread_init() has not yet been
 called, and, in that case, will set @private_key to @data casted to #GPrivate*.
+See g_private_get() for resulting caveats.
 </para>
 
 @private_key: a #GPrivate.