Just like g_system_thread_wait().
gpointer arg,
gulong stack_size,
gboolean joinable,
- gpointer thread,
+ GRealThread *thread,
GError **error)
{
pthread_attr_t attr;
posix_check_cmd (pthread_attr_setdetachstate (&attr,
joinable ? PTHREAD_CREATE_JOINABLE : PTHREAD_CREATE_DETACHED));
- ret = pthread_create (thread, &attr, (void* (*)(void*))thread_func, arg);
+ ret = pthread_create ((pthread_t *) &(thread->system_thread), &attr, (void* (*)(void*))thread_func, arg);
posix_check_cmd (pthread_attr_destroy (&attr));
gpointer data,
gulong stack_size,
gboolean joinable,
- gpointer thread,
+ GRealThread *thread,
GError **error)
{
guint ignore;
return;
}
- *(GThreadData **)thread = retval;
+ *(GThreadData **) &(thread->system_thread) = retval;
}
void
result->name = name;
G_LOCK (g_thread_new);
g_system_thread_create (proxy, result, stack_size, joinable,
- &result->system_thread, &local_error);
+ result, &local_error);
G_UNLOCK (g_thread_new);
if (local_error)
gpointer data,
gulong stack_size,
gboolean joinable,
- gpointer thread,
+ GRealThread *thread,
GError **error);
G_GNUC_INTERNAL
void g_system_thread_free (GRealThread *thread);