git.stg.codes
/
stg.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add an option to opt-out Firebird store.
[stg.git]
/
projects
/
stargazer
/
plugins
/
configuration
/
sgconfig
/
configproto.cpp
diff --git
a/projects/stargazer/plugins/configuration/sgconfig/configproto.cpp
b/projects/stargazer/plugins/configuration/sgconfig/configproto.cpp
index f5a57a48ca11a6c377620b0892481335d4e3f7ef..5c176f4568fd6fc5cb76f04dd2518b43d598390f 100644
(file)
--- a/
projects/stargazer/plugins/configuration/sgconfig/configproto.cpp
+++ b/
projects/stargazer/plugins/configuration/sgconfig/configproto.cpp
@@
-50,7
+50,7
@@
namespace SP = STG::PARSER;
namespace SP = STG::PARSER;
-CONFIGPROTO::CONFIGPROTO(
PLUGIN_LOGGER
& l)
+CONFIGPROTO::CONFIGPROTO(
STG::PluginLogger
& l)
: m_settings(NULL),
m_admins(NULL),
m_tariffs(NULL),
: m_settings(NULL),
m_admins(NULL),
m_tariffs(NULL),
@@
-60,7
+60,6
@@
CONFIGPROTO::CONFIGPROTO(PLUGIN_LOGGER & l)
m_store(NULL),
m_port(0),
m_bindAddress("0.0.0.0"),
m_store(NULL),
m_port(0),
m_bindAddress("0.0.0.0"),
- m_running(false),
m_stopped(true),
m_logger(l),
m_listenSocket(-1)
m_stopped(true),
m_logger(l),
m_listenSocket(-1)
@@
-69,9
+68,16
@@
CONFIGPROTO::CONFIGPROTO(PLUGIN_LOGGER & l)
CONFIGPROTO::~CONFIGPROTO()
{
CONFIGPROTO::~CONFIGPROTO()
{
+ {
std::deque<STG::Conn *>::iterator it;
for (it = m_conns.begin(); it != m_conns.end(); ++it)
delete *it;
std::deque<STG::Conn *>::iterator it;
for (it = m_conns.begin(); it != m_conns.end(); ++it)
delete *it;
+ }
+ {
+ BASE_PARSER::REGISTRY::iterator it;
+ for (it = m_registry.begin(); it != m_registry.end(); ++it)
+ delete it->second;
+ }
}
int CONFIGPROTO::Prepare()
}
int CONFIGPROTO::Prepare()
@@
-113,14
+119,12
@@
int CONFIGPROTO::Prepare()
RegisterParsers();
RegisterParsers();
- m_running = true;
m_stopped = false;
return 0;
}
int CONFIGPROTO::Stop()
{
m_stopped = false;
return 0;
}
int CONFIGPROTO::Stop()
{
- m_running = false;
for (int i = 0; i < 5 && !m_stopped; ++i)
{
struct timespec ts = {0, 200000000};
for (int i = 0; i < 5 && !m_stopped; ++i)
{
struct timespec ts = {0, 200000000};
@@
-139,9
+143,9
@@
int CONFIGPROTO::Stop()
return 0;
}
return 0;
}
-void CONFIGPROTO::Run()
+void CONFIGPROTO::Run(
std::stop_token token
)
{
{
- while (
m_running
)
+ while (
!token.stop_requested()
)
{
fd_set fds;
{
fd_set fds;
@@
-159,7
+163,7
@@
void CONFIGPROTO::Run()
m_logger(m_errorStr);
break;
}
m_logger(m_errorStr);
break;
}
- if (
!m_running
)
+ if (
token.stop_requested()
)
break;
if (res > 0)
HandleEvents(fds);
break;
if (res > 0)
HandleEvents(fds);