X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/687631532197750696d35aa12c40406b04fb878d..f8e103acc087dbe46851d12b3e2503635108c0ac:/projects/stargazer/eventloop.cpp?ds=sidebyside diff --git a/projects/stargazer/eventloop.cpp b/projects/stargazer/eventloop.cpp index 96c1ca4f..36a77e9e 100644 --- a/projects/stargazer/eventloop.cpp +++ b/projects/stargazer/eventloop.cpp @@ -1,12 +1,18 @@ +#include #include #include -#include "stg/stg_locker.h" +#include "stg/locker.h" #include "stg/common.h" #include "eventloop.h" EVENT_LOOP::EVENT_LOOP() - : ACTIONS_LIST() + : ACTIONS_LIST(), + _running(false), + _stopped(true), + _tid(), + _mutex(), + _condition() { pthread_mutex_init(&_mutex, NULL); pthread_cond_init(&_condition, NULL); @@ -48,12 +54,16 @@ return NULL; void EVENT_LOOP::Runner() { +sigset_t signalSet; +sigfillset(&signalSet); +pthread_sigmask(SIG_BLOCK, &signalSet, NULL); + _stopped = false; printfd(__FILE__, "EVENT_LOOP::Runner - Before start\n"); while (_running) { { - STG_LOCKER lock(&_mutex, __FILE__, __LINE__); + STG_LOCKER lock(&_mutex); // Check for any actions... if (empty()) { @@ -91,7 +101,7 @@ EVENT_LOOP & EVENT_LOOP_SINGLETON::GetInstance() // Double-checking technique if (!_instance) { - STG_LOCKER lock(&singletonMutex, __FILE__, __LINE__); + STG_LOCKER lock(&singletonMutex); if (!_instance) { CreateInstance();