void xbt_os_sem_timedacquire(xbt_os_sem_t sem,double timeout)
{
- /* mac os x have not the sem_timedwait() function */
- #ifndef HAVE_SEM_TIMEDWAIT
- THROW_UNIMPLEMENTED;
- #else
int errcode;
struct timespec ts_end;
double end = timeout + xbt_os_time();
}
else
{
+ /* mac os x have not the sem_timedwait() function */
+#ifndef HAVE_SEM_TIMEDWAIT
+ THROW_UNIMPLEMENTED;
+#else
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->s),&ts_end);
default:
THROW3(system_error,errcode,"sem_timedwait(%p,%f) failed: %s",sem,timeout, strerror(errcode));
}
+#endif
}
- #endif
}
void