daemon: 'stop' command added.
This commit is contained in:
@@ -1,6 +1,9 @@
|
|||||||
ebusd - ChangeLog
|
ebusd - ChangeLog
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
|
2014-06-22 Roland Jax <roland.jax@liwest.at>
|
||||||
|
* 'stop' daemon command added.
|
||||||
|
|
||||||
2014-06-03 Roland Jax <roland.jax@liwest.at>
|
2014-06-03 Roland Jax <roland.jax@liwest.at>
|
||||||
* ebusd_send, ebusd_scan added.
|
* ebusd_send, ebusd_scan added.
|
||||||
* class Appl: program arguments parsing improved.
|
* class Appl: program arguments parsing improved.
|
||||||
|
|||||||
@@ -20,6 +20,7 @@ Features
|
|||||||
- dump toggle dump on/off
|
- dump toggle dump on/off
|
||||||
- logarea change log area
|
- logarea change log area
|
||||||
- loglevel change log level
|
- loglevel change log level
|
||||||
|
- stop stop daemon
|
||||||
- quit close connection
|
- quit close connection
|
||||||
- help print help page
|
- help print help page
|
||||||
|
|
||||||
|
|||||||
+11
-1
@@ -31,6 +31,8 @@ extern Appl& A;
|
|||||||
void BaseLoop::start()
|
void BaseLoop::start()
|
||||||
{
|
{
|
||||||
for (;;) {
|
for (;;) {
|
||||||
|
std::string result;
|
||||||
|
|
||||||
// recv new message from client
|
// recv new message from client
|
||||||
Message* message = m_queue.remove();
|
Message* message = m_queue.remove();
|
||||||
std::string data = message->getData();
|
std::string data = message->getData();
|
||||||
@@ -41,7 +43,10 @@ void BaseLoop::start()
|
|||||||
L.log(bas, event, ">>> %s", data.c_str());
|
L.log(bas, event, ">>> %s", data.c_str());
|
||||||
|
|
||||||
// decode message
|
// 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());
|
L.log(bas, event, "<<< %s", result.c_str());
|
||||||
|
|
||||||
@@ -51,6 +56,10 @@ void BaseLoop::start()
|
|||||||
connection->addResult(Message(result));
|
connection->addResult(Message(result));
|
||||||
|
|
||||||
delete message;
|
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
|
<< " 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
|
<< " 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
|
<< " loglevel - change log level 'loglevel level' (level: error|event|trace|debug)" << std::endl
|
||||||
|
<< " stop - stop daemon" << std::endl
|
||||||
<< " quit - close connection" << std::endl
|
<< " quit - close connection" << std::endl
|
||||||
<< " help - print this page";
|
<< " help - print this page";
|
||||||
break;
|
break;
|
||||||
|
|||||||
+1
-1
@@ -61,7 +61,7 @@ void* CYCData::run()
|
|||||||
tmp += (*m_commands)[index][1];
|
tmp += (*m_commands)[index][1];
|
||||||
tmp += " ";
|
tmp += " ";
|
||||||
tmp += (*m_commands)[index][2];
|
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);
|
storeData(index, data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user