Commit 5a6e8618 authored by Pavel Vainerman's avatar Pavel Vainerman

fixed bug in ModbusTCPSlave

parent a08dc4cb
......@@ -19,7 +19,11 @@ UniSetObject_LT(objId),
mbslot(0),
shm(0),
initPause(0),
askCount(0),
test_id(DefaultObjectId),
askcount_id(DefaultObjectId),
activated(false),
activateTimeout(500),
pingOK(true),
force(false),
mbregFromID(false),
......@@ -1077,6 +1081,7 @@ mbErrCode MBSlave::readInputRegisters( ReadInputMessage& query,
else
reply.addData(0);
pingOK = true;
return ret;
}
......
......@@ -37,14 +37,13 @@ int main(int argc, char **argv)
if( logfilename.empty() )
logfilename = "mbslave.log";
conf->initDebug(dlog,"dlog");
std::ostringstream logname;
string dir(conf->getLogDir());
logname << dir << logfilename;
unideb.logFile( logname.str().c_str() );
dlog.logFile( logname.str().c_str() );
conf->initDebug(dlog,"dlog");
ObjectId shmID = DefaultObjectId;
string sID = conf->getArgParam("--smemory-id");
......
......@@ -66,7 +66,7 @@ mbErrCode ModbusRTUSlave::receive( ModbusRTU::ModbusAddr addr, int timeout )
{
uniset_mutex_lock lck(recvMutex,timeout);
ModbusMessage buf;
mbErrCode res(erBadReplyNodeAddress);
mbErrCode res = erBadReplyNodeAddress;
do
{
res = recv(addr,buf,timeout);
......
......@@ -54,7 +54,7 @@ mbErrCode ModbusTCPServer::receive( ModbusRTU::ModbusAddr addr, int timeout )
if( tcp.isPending(Socket::pendingInput, timeout) )
{
memset(&curQueryHeader,0,sizeof(curQueryHeader));
mbErrCode res = tcp_processing(tcp,curQueryHeader);
res = tcp_processing(tcp,curQueryHeader);
if( res!=erNoError )
{
tcp.disconnect();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment