summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndre Hartmann <aha_1980@gmx.de>2019-11-08 22:05:00 +0100
committerAndre Hartmann <aha_1980@gmx.de>2019-11-15 18:54:27 +0100
commitf47b712057676de6115d7320cbbc2eb9b20c9817 (patch)
treefa0876f62e57038c5191436049fd78fd75bcd75d
parent80120869717f691f4339dc6a2f966a1160788867 (diff)
VirtualCAN: Fix disconnecting from bus
While the client sent a disconnect command to the server, this was not handled on server side. Thus, the client was never really Unconnected and in turn it was not possible to connect again. Fix that by closing the socket, that leads to VirtualCanBackend::clientDisconnected() being called and that sets the plugin to Unconnected. In any case, the server keeps running until the plugin is unloaded, even after the last client is disconnected. [ChangeLog][VirtualCAN] Fixed that the plugin stayed forever in closing state and subsequent connect calls always failed. Change-Id: I7a490c55a3cb6bd193ba4783b48d1385aa85bcde Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> Reviewed-by: Rolf Eike Beer <eb@emlix.com> Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
-rw-r--r--src/plugins/canbus/virtualcan/virtualcanbackend.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/plugins/canbus/virtualcan/virtualcanbackend.cpp b/src/plugins/canbus/virtualcan/virtualcanbackend.cpp
index 0057d9f..597ef14 100644
--- a/src/plugins/canbus/virtualcan/virtualcanbackend.cpp
+++ b/src/plugins/canbus/virtualcan/virtualcanbackend.cpp
@@ -139,6 +139,7 @@ void VirtualCanServer::readyRead()
QStringList list = interfaces.toStringList();
list.removeAll(command.mid(int(strlen("disconnect:"))));
readSocket->setProperty("interfaces", list);
+ readSocket->disconnectFromHost();
} else {
const QByteArrayList commandList = command.split(':');