xbt_thread_t t =
(xbt_thread_t) SIMIX_process_self_get_data();
SIMIX_req_process_set_data(SIMIX_process_self(), t->father_data);
- (*t->code) (t->userparam);
+ t->code(t->userparam);
if (t->joinable) {
t->done = 1;
xbt_mutex_acquire(t->mutex);
res->code = code;
res->father_data = SIMIX_process_self_get_data();
/* char*name = bprintf("%s#%p",SIMIX_process_self_get_name(), param); */
- res->s_process = SIMIX_req_process_create(name,
- xbt_thread_create_wrapper, res,
- SIMIX_host_self_get_name(), 0, NULL,
- /*props */ NULL);
+ SIMIX_req_process_create(&res->s_process, name,
+ xbt_thread_create_wrapper, res,
+ SIMIX_host_self_get_name(), 0, NULL,
+ /*props */ NULL);
res->joinable = joinable;
res->done = 0;
res->cond = xbt_cond_init();
void xbt_thread_join(xbt_thread_t thread)
{
xbt_mutex_acquire(thread->mutex);
- xbt_assert1(thread->joinable,
+ xbt_assert(thread->joinable,
"Cannot join on %p: wasn't created joinable", thread);
if (!thread->done) {
xbt_cond_wait(thread->cond, thread->mutex);