* </programlisting>
* </example>
*
+ * If a #GMutex is allocated in static storage then it can be used
+ * without initialisation. Otherwise, you should call g_mutex_init() on
+ * it and g_mutex_clear() when done.
+ *
* A statically initialized #GMutex provides an even simpler and safer
* way of doing this:
*
* thread without deadlock. When doing so, care has to be taken to
* unlock the recursive mutex as often as it has been locked.
*
+ * If a #GRecMutex is allocated in static storage then it can be used
+ * without initialisation. Otherwise, you should call
+ * g_rec_mutex_init() on it and g_rec_mutex_clear() when done.
+ *
* A GRecMutex should only be accessed with the
* <function>g_rec_mutex_</function> functions.
*
* </para>
* </example>
*
+ * If a #GRWLock is allocated in static storage then it can be used
+ * without initialisation. Otherwise, you should call
+ * g_rw_lock_init() on it and g_rw_lock_clear() when done.
+ *
* A GRWLock should only be accessed with the
* <function>g_rw_lock_</function> functions.
*
* to be woken up, even if the condition itself is protected by a
* #GMutex, like above.</para></note>
*
+ * If a #GCond is allocated in static storage then it can be used
+ * without initialisation. Otherwise, you should call g_cond_init() on
+ * it and g_cond_clear() when done.
+ *
* A #GCond should only be accessed via the <function>g_cond_</function>
* functions.
*/