X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/90e389f6ec12e60a62c362296ffcf314feb5b03d..d6e4a058a37bdaea7df8c8d360978c0dc8848fff:/projects/stargazer/eventloop.cpp?ds=sidebyside diff --git a/projects/stargazer/eventloop.cpp b/projects/stargazer/eventloop.cpp index 1d1a209d..36a77e9e 100644 --- a/projects/stargazer/eventloop.cpp +++ b/projects/stargazer/eventloop.cpp @@ -1,3 +1,4 @@ +#include #include #include @@ -6,7 +7,12 @@ #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();