- return bool from Thread::trySleep()

- updated documentiation
- amended tests
- updated CHANGELOG
This commit is contained in:
Alex Fabijanic
2014-04-26 09:51:57 -05:00
parent 0d58de8bc8
commit 63850e8778
6 changed files with 65 additions and 28 deletions

View File

@@ -137,17 +137,17 @@ private:
class TrySleepRunnable : public Runnable
{
public:
TrySleepRunnable() : _counter(0)
TrySleepRunnable() : _counter(0), _sleepy(true)
{
}
void run()
{
trySleep(300000);
_sleepy = !trySleep(300000);
++_counter;
trySleep(300000);
_sleepy = !trySleep(300000);
++_counter;
trySleep(10);
_sleepy = !trySleep(10);
++_counter;
}
@@ -156,8 +156,14 @@ public:
return _counter;
}
bool isSleepy() const
{
return _sleepy;
}
private:
int _counter;
bool _sleepy;
};
@@ -295,23 +301,27 @@ void ThreadTest::testTrySleep()
{
Thread thread;
TrySleepRunnable r;
assert(r.isSleepy());
assert(!thread.isRunning());
assert(r.counter() == 0);
thread.start(r);
assert(thread.isRunning());
assert(r.counter() == 0);
assert(r.isSleepy());
Thread::sleep(100);
assert(r.counter() == 0);
thread.wakeUp();
Thread::sleep(10);
assert(r.isSleepy());
thread.wakeUp(); Thread::sleep(10);
assert(r.counter() == 1);
assert(r.isSleepy());
Thread::sleep(100);
assert(r.counter() == 1);
thread.wakeUp();
Thread::sleep(10);
thread.wakeUp(); Thread::sleep(10);
assert(r.counter() == 2);
assert(r.isSleepy());
Thread::sleep(100);
assert(r.counter() == 3);
assert(!r.isSleepy());
assert(!thread.isRunning());
thread.wakeUp();
assert(!thread.isRunning());