daemon: 'stop' command added.

This commit is contained in:
Roland Jax
2014-06-22 07:48:31 +02:00
parent da2d943fce
commit 3407386b94
4 changed files with 16 additions and 2 deletions
+3
View File
@@ -1,6 +1,9 @@
ebusd - ChangeLog
-----------------
2014-06-22 Roland Jax <roland.jax@liwest.at>
* 'stop' daemon command added.
2014-06-03 Roland Jax <roland.jax@liwest.at>
* ebusd_send, ebusd_scan added.
* class Appl: program arguments parsing improved.
+1
View File
@@ -20,6 +20,7 @@ Features
- dump toggle dump on/off
- logarea change log area
- loglevel change log level
- stop stop daemon
- quit close connection
- help print help page
+11 -1
View File
@@ -31,6 +31,8 @@ extern Appl& A;
void BaseLoop::start()
{
for (;;) {
std::string result;
// recv new message from client
Message* message = m_queue.remove();
std::string data = message->getData();
@@ -41,7 +43,10 @@ void BaseLoop::start()
L.log(bas, event, ">>> %s", data.c_str());
// decode message
std::string result(decodeMessage(data));
if (strcasecmp(data.c_str(), "stop") != 0)
result = decodeMessage(data);
else
result = "done";
L.log(bas, event, "<<< %s", result.c_str());
@@ -51,6 +56,10 @@ void BaseLoop::start()
connection->addResult(Message(result));
delete message;
// stop daemon
if (strcasecmp(data.c_str(), "stop") == 0)
return;
}
}
@@ -273,6 +282,7 @@ std::string BaseLoop::decodeMessage(const std::string& data)
<< " dump - change dump state 'dump state' (state: on|off)" << std::endl
<< " logarea - change log area 'logarea area,area,..' (area: bas|net|bus|cyc|all)" << std::endl
<< " loglevel - change log level 'loglevel level' (level: error|event|trace|debug)" << std::endl
<< " stop - stop daemon" << std::endl
<< " quit - close connection" << std::endl
<< " help - print this page";
break;
+1 -1
View File
@@ -61,7 +61,7 @@ void* CYCData::run()
tmp += (*m_commands)[index][1];
tmp += " ";
tmp += (*m_commands)[index][2];
L.log(cyc, trace, " [%d] %s", index, tmp.c_str());
L.log(cyc, event, " [%d] %s", index, tmp.c_str());
storeData(index, data);
}
}