]> git.stg.codes - stg.git/blobdiff - projects/stargazer/eventloop.cpp
Un-ignore SIGHUP by default.
[stg.git] / projects / stargazer / eventloop.cpp
index 96c1ca4ff0fe9ccaf8dfe7d42be00612835bd6a0..36a77e9e21929c26e19e3ad9ecea86559eed0a1e 100644 (file)
@@ -1,12 +1,18 @@
+#include <csignal>
 #include <cerrno>
 #include <cstring>
 
-#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();