X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=source%2Fcore%2Fsemaphore.cpp;h=06e8435c3a34212599a8ead8817d28073c4c26cc;hp=8fa1be90f7c7e234abde3e74409bfb916acbffb9;hb=7f847aeb48e0e8f58ead52ba255cff27527628eb;hpb=a23176e6d3399bbeb75cf6a173543bf5d5f85187 diff --git a/source/core/semaphore.cpp b/source/core/semaphore.cpp index 8fa1be9..06e8435 100644 --- a/source/core/semaphore.cpp +++ b/source/core/semaphore.cpp @@ -53,13 +53,13 @@ void Semaphore::signal() { #ifdef WIN32 if(!ReleaseSemaphore(priv->handle, 1, 0)) - throw system_error("Semaphore::signal"); + throw system_error("ReleaseSemaphore"); #else MutexLock mlock(priv->mutex); if(priv->countlimit) ++priv->count; if(int err = pthread_cond_signal(&priv->cond)) - throw system_error("Semaphore::signal", err); + throw system_error("pthread_cond_signal", err); #endif } @@ -68,12 +68,12 @@ void Semaphore::wait() #ifdef WIN32 DWORD ret = WaitForSingleObject(priv->handle, INFINITE); if(ret==WAIT_FAILED) - throw system_error("Semaphore::wait"); + throw system_error("WaitForSingleObject"); #else MutexLock mlock(priv->mutex); while(!priv->count) if(int err = pthread_cond_wait(&priv->cond, &priv->mutex.priv->mutex)) - throw system_error("Semaphore::wait", err); + throw system_error("pthread_cond_wait", err); --priv->count; #endif } @@ -83,14 +83,14 @@ bool Semaphore::wait(const Time::TimeDelta &d) #ifdef WIN32 DWORD ret = WaitForSingleObject(priv->handle, (DWORD)(d/Time::usec)); if(ret==WAIT_FAILED) - throw system_error("Semaphore::wait"); + throw system_error("WaitForSingleObject"); return ret==WAIT_OBJECT_0; #else timespec timeout = Time::rawtime_to_timespec((Time::now()+d).raw()); int err = pthread_cond_timedwait(&priv->cond, &priv->mutex.priv->mutex, &timeout); if(err && err!=ETIMEDOUT) - throw system_error("Semaphore::wait", err); + throw system_error("pthread_cond_timedwait", err); return err==0; #endif }