git.stg.codes
/
stg.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added parser factories.
[stg.git]
/
projects
/
stargazer
/
eventloop.cpp
diff --git
a/projects/stargazer/eventloop.cpp
b/projects/stargazer/eventloop.cpp
index 1d1a209d9bc9e574bcac360d2a8b4d95e4fb8838..36a77e9e21929c26e19e3ad9ecea86559eed0a1e 100644
(file)
--- a/
projects/stargazer/eventloop.cpp
+++ b/
projects/stargazer/eventloop.cpp
@@
-1,3
+1,4
@@
+#include <csignal>
#include <cerrno>
#include <cstring>
#include <cerrno>
#include <cstring>
@@
-6,7
+7,12
@@
#include "eventloop.h"
EVENT_LOOP::EVENT_LOOP()
#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);
{
pthread_mutex_init(&_mutex, NULL);
pthread_cond_init(&_condition, NULL);
@@
-48,12
+54,16
@@
return NULL;
void EVENT_LOOP::Runner()
{
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)
{
{
_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())
{
// Check for any actions...
if (empty())
{
@@
-91,7
+101,7
@@
EVENT_LOOP & EVENT_LOOP_SINGLETON::GetInstance()
// Double-checking technique
if (!_instance)
{
// Double-checking technique
if (!_instance)
{
- STG_LOCKER lock(&singletonMutex
, __FILE__, __LINE__
);
+ STG_LOCKER lock(&singletonMutex);
if (!_instance)
{
CreateInstance();
if (!_instance)
{
CreateInstance();