int xbt_os_thread_atfork(void (*prepare)(void),
void (*parent)(void), void (*child)(void))
{
+#ifdef WIN32
+ return 0; //pthread_atfork is not implemented in pthread.h on windows
+#else
return pthread_atfork(prepare, parent, child);
+#endif
}
static void *wrapper_start_routine(void *s)
THROWF(system_error, errcode,
"pthread_setspecific failed for xbt_self_thread_key");
- void *res = (*(t->start_routine)) (t->param);
+ void *res = t->start_routine(t->param);
if (t->detached)
xbt_os_thread_free_thread_data(t);
return res;
CloseHandle(thread->handle);
- if (thread->name)
- free(thread->name);
+ free(thread->name);
free(thread);
}