+Mon Aug 13 14:18:22 2007 Tim Janik <timj@imendio.com>
+
+ * glib/gthread.c (g_thread_create_full): prevent linking a freed
+ GThread structure into global thread list in error cases.
+
2007-08-08 Matthias Clasen <mclasen@redhat.com>
* glib/gmarkup.c (append_escaped_text): Handle restricted
/* Just to make sure, this isn't used any more */
g_system_thread_assign (thread->system_thread, zero_thread);
- g_free (thread);
+ g_free (thread);
}
}
}
G_THREAD_UF (thread_create, (g_thread_create_proxy, result,
stack_size, joinable, bound, priority,
&result->system_thread, &local_error));
- result->next = g_thread_all_threads;
- g_thread_all_threads = result;
+ if (!local_error)
+ {
+ result->next = g_thread_all_threads;
+ g_thread_all_threads = result;
+ }
G_UNLOCK (g_thread);
if (local_error)