git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@4855
48e7efb5-ca39-0410-a469-
dd3cf9ba447f
xbt_os_sem_acquire(xbt_os_sem_t sem)
{
if(!sem)
xbt_os_sem_acquire(xbt_os_sem_t sem)
{
if(!sem)
- THROW1(arg_error,EINVAL,"xbt_os_sem_acquire() failed: %s",
- strerror(EINVAL));
+ THROW0(arg_error,EINVAL,"Cannot acquire of the NULL semaphore");
if(sem_wait(&(sem->s)) < 0)
THROW1(system_error,errno,"sem_wait() failed: %s",
if(sem_wait(&(sem->s)) < 0)
THROW1(system_error,errno,"sem_wait() failed: %s",
double end = timeout + xbt_os_time();
if(!sem)
double end = timeout + xbt_os_time();
if(!sem)
- THROW1(arg_error,EINVAL,"xbt_os_sem_timedacquire() failed: %s",strerror(EINVAL));
+ THROW0(arg_error,EINVAL,"Cannot acquire of the NULL semaphore");
xbt_os_sem_release(xbt_os_sem_t sem)
{
if(!sem)
xbt_os_sem_release(xbt_os_sem_t sem)
{
if(!sem)
- THROW1(arg_error,EINVAL,"xbt_os_sem_release() failed: %s",
- strerror(EINVAL));
+ THROW0(arg_error,EINVAL,"Cannot release of the NULL semaphore");
if(sem_post(&(sem->s)) < 0)
THROW1(system_error,errno,"sem_post() failed: %s",
if(sem_post(&(sem->s)) < 0)
THROW1(system_error,errno,"sem_post() failed: %s",
void
xbt_os_sem_destroy(xbt_os_sem_t sem)
{
void
xbt_os_sem_destroy(xbt_os_sem_t sem)
{
- if(!sem)
- THROW1(arg_error,EINVAL,"xbt_os_sem_destroy() failed: %s",
- strerror(EINVAL));
if(sem_destroy(&(sem->s)) < 0)
THROW1(system_error,errno,"sem_destroy() failed: %s",
if(sem_destroy(&(sem->s)) < 0)
THROW1(system_error,errno,"sem_destroy() failed: %s",
xbt_os_sem_get_value(xbt_os_sem_t sem, int* svalue)
{
if(!sem)
xbt_os_sem_get_value(xbt_os_sem_t sem, int* svalue)
{
if(!sem)
- THROW1(arg_error,EINVAL,"xbt_os_sem_getvalue() failed: %s",
- strerror(EINVAL));
+ THROW0(arg_error,EINVAL,"Cannot get the value of the NULL semaphore");
if(sem_getvalue(&(sem->s),svalue) < 0)
THROW1(system_error,errno,"sem_getvalue() failed: %s",
if(sem_getvalue(&(sem->s),svalue) < 0)
THROW1(system_error,errno,"sem_getvalue() failed: %s",
xbt_os_sem_t res;
if(value > INT_MAX)
xbt_os_sem_t res;
if(value > INT_MAX)
- THROW1(arg_error,EINVAL,"xbt_os_sem_init() failed: %s",
- strerror(EINVAL));
+ THROW1(arg_error,value,"Semaphore initial value too big: %ud cannot be stored as a signed int",
+ value);
res = (xbt_os_sem_t)xbt_new0(s_xbt_os_sem_t,1);
res = (xbt_os_sem_t)xbt_new0(s_xbt_os_sem_t,1);
xbt_os_sem_acquire(xbt_os_sem_t sem)
{
if(!sem)
xbt_os_sem_acquire(xbt_os_sem_t sem)
{
if(!sem)
- THROW1(arg_error,EINVAL,"xbt_os_sem_acquire() failed: %s",
- strerror(EINVAL));
+ THROW0(arg_error,EINVAL,"Cannot acquire the NULL semaphore");
/* wait failure */
if(WAIT_OBJECT_0 != WaitForSingleObject(sem->h,INFINITE))
/* wait failure */
if(WAIT_OBJECT_0 != WaitForSingleObject(sem->h,INFINITE))
double end = timeout + xbt_os_time();
if(!sem)
double end = timeout + xbt_os_time();
if(!sem)
- THROW1(arg_error,EINVAL,"xbt_os_sem_timedacquire() failed: %s",
- strerror(EINVAL));
+ THROW0(arg_error,EINVAL,"Cannot acquire the NULL semaphore");
xbt_os_sem_release(xbt_os_sem_t sem)
{
if(!sem)
xbt_os_sem_release(xbt_os_sem_t sem)
{
if(!sem)
- THROW1(arg_error,EINVAL,"xbt_os_sem_post() failed: %s",
- strerror(EINVAL));
+ THROW0(arg_error,EINVAL,"Cannot release the NULL semaphore");
if(!ReleaseSemaphore(sem->h,1, NULL))
THROW1(system_error,GetLastError(),"ReleaseSemaphore() failed: %s",
if(!ReleaseSemaphore(sem->h,1, NULL))
THROW1(system_error,GetLastError(),"ReleaseSemaphore() failed: %s",
void
xbt_os_sem_destroy(xbt_os_sem_t sem)
{
void
xbt_os_sem_destroy(xbt_os_sem_t sem)
{
- if(!sem)
- THROW1(arg_error,EINVAL,"xbt_os_sem_destroy() failed: %s",
- strerror(EINVAL));
if(!CloseHandle(sem->h))
THROW1(system_error,GetLastError(),"CloseHandle() failed: %s",
if(!CloseHandle(sem->h))
THROW1(system_error,GetLastError(),"CloseHandle() failed: %s",
xbt_os_sem_get_value(xbt_os_sem_t sem, int* svalue)
{
if(!sem)
xbt_os_sem_get_value(xbt_os_sem_t sem, int* svalue)
{
if(!sem)
- THROW1(arg_error,EINVAL,"xbt_os_sem_get_value() failed: %s",
- strerror(EINVAL));
+ THROW0(arg_error,EINVAL,"Cannot get the value of the NULL semaphore");
EnterCriticalSection(&(sem->value_lock));
*svalue = sem->value;
EnterCriticalSection(&(sem->value_lock));
*svalue = sem->value;