diff options
Diffstat (limited to 'test/sem_test.cpp')
-rw-r--r-- | test/sem_test.cpp | 37 |
1 files changed, 15 insertions, 22 deletions
diff --git a/test/sem_test.cpp b/test/sem_test.cpp index 1836317..4211ce3 100644 --- a/test/sem_test.cpp +++ b/test/sem_test.cpp @@ -14,36 +14,30 @@ along with Raul. If not, see <http://www.gnu.org/licenses/>. */ -#include <iostream> #include <limits.h> #include <unistd.h> -#include "raul/Thread.hpp" +#include <iostream> +#include <thread> + #include "raul/Semaphore.hpp" using namespace std; using namespace Raul; -class Waiter : public Raul::Thread { -public: - Waiter(Semaphore& sem) : Raul::Thread(), _sem(sem) - {} - -private: - void _run() { - while (true) { - if (_sem.timed_wait(250)) { - cout << "[Waiter] Received signal" << endl; - break; - } else { - cout << "[Waiter] Timed out" << endl; - } +static void +wait(Semaphore* sem) +{ + while (true) { + if (sem->timed_wait(250)) { + cout << "[Waiter] Received signal" << endl; + break; + } else { + cout << "[Waiter] Timed out" << endl; } - cout << "[Waiter] Exiting" << endl; } - - Semaphore& _sem; -}; + cout << "[Waiter] Exiting" << endl; +} int main() @@ -60,8 +54,7 @@ main() return 1; } - Waiter waiter(sem); - waiter.start(); + std::thread waiter(wait, &sem); sleep(1); |