20 #include <OnixS/Core/Concurrency/Semaphore.h> 24 #include "NamespaceHelper.h" 26 ONIXS_HANDLER_NAMESPACE_BEGIN
42 if (timeoutInMs == -1)
49 const OnixS::Time::TotalSeconds seconds = timeoutInMs / 1000;
50 const OnixS::Time::Nanoseconds nanoseconds = (timeoutInMs % 1000) * 1000000;
51 const OnixS::Time::TimeSpan timeout(seconds, OnixS::Time::NanosecondSubseconds(nanoseconds));
52 return sem_.acquire(timeout);
62 OnixS::Concurrency::Semaphore sem_;
65 Semaphore::Semaphore(
int initialCounter) :
66 impl_(new
Impl(initialCounter))
77 return impl_->
acquire(timeoutInMs);
85 ONIXS_HANDLER_NAMESPACE_END
bool acquire(int timeoutInMs)
bool acquire(int timeoutInMs=-1)