/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
+#include "gras_config.h"
#include "xbt/sysdep.h"
#include "xbt/ex.h"
#include "xbt/ex_interface.h" /* We play crude games with exceptions */
ts_end.tv_sec = (time_t) floor(end);
ts_end.tv_nsec = (long) ((end - ts_end.tv_sec) * 1000000000);
- DEBUG2("pthread_mutex_timedlock(%p,%p)", &(mutex->m), &ts_end);
+ XBT_DEBUG("pthread_mutex_timedlock(%p,%p)", &(mutex->m), &ts_end);
errcode = pthread_mutex_timedlock(&(mutex->m), &ts_end);
} else {
ts_end.tv_sec = (time_t) floor(end);
ts_end.tv_nsec = (long) ((end - ts_end.tv_sec) * 1000000000);
- DEBUG3("pthread_cond_timedwait(%p,%p,%p)", &(cond->c), &(mutex->m),
+ XBT_DEBUG("pthread_cond_timedwait(%p,%p,%p)", &(cond->c), &(mutex->m),
&ts_end);
switch ((errcode =
pthread_cond_timedwait(&(cond->c), &(mutex->m), &ts_end))) {
ts_end.tv_sec = (time_t) floor(end);
ts_end.tv_nsec = (long) ((end - ts_end.tv_sec) * 1000000000);
- DEBUG2("sem_timedwait(%p,%p)", sem->ps, &ts_end);
+ XBT_DEBUG("sem_timedwait(%p,%p)", sem->ps, &ts_end);
errcode = sem_timedwait(sem->s, &ts_end);
#else /* Okay, reimplement this function then */
unsigned long id; /* the win thread id */
pvoid_f_pvoid_t start_routine;
void *param;
+ void *extra_data;
} s_xbt_os_thread_t;
/* so we can specify the size of the stack of the threads */
xbt_os_thread_t xbt_os_thread_create(const char *name,
pvoid_f_pvoid_t start_routine,
- void *param)
+ void *param,
+ void *extra_data)
{
xbt_os_thread_t t = xbt_new(s_xbt_os_thread_t, 1);
t->name = xbt_strdup(name);
t->start_routine = start_routine;
t->param = param;
-
+ t->extra_data = extra_data;
t->handle = CreateThread(NULL, XBT_DEFAULT_THREAD_STACK_SIZE,
(LPTHREAD_START_ROUTINE) wrapper_start_routine,
t, STACK_SIZE_PARAM_IS_A_RESERVATION, &(t->id));
if (delay < 0) {
xbt_os_cond_wait(cond, mutex);
} else {
- DEBUG3("xbt_cond_timedwait(%p,%p,%lu)", &(cond->events),
+ XBT_DEBUG("xbt_cond_timedwait(%p,%p,%lu)", &(cond->events),
&(mutex->lock), end);
/* lock the threads counter and increment it */