prevent linking a freed GThread structure into global thread list in error

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.



svn path=/trunk/; revision=5697
This commit is contained in:
Tim Janik 2007-08-13 12:18:55 +00:00 committed by Tim Janik
parent 145e79fb4a
commit 8aa559d72f
2 changed files with 11 additions and 3 deletions

View File

@ -1,3 +1,8 @@
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

View File

@ -579,7 +579,7 @@ g_thread_cleanup (gpointer data)
/* 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);
}
}
}
@ -662,8 +662,11 @@ g_thread_create_full (GThreadFunc func,
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)