summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/network/socket/qlocalsocket_tcp.cpp1
-rw-r--r--src/network/socket/qlocalsocket_unix.cpp1
-rw-r--r--tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp6
3 files changed, 8 insertions, 0 deletions
diff --git a/src/network/socket/qlocalsocket_tcp.cpp b/src/network/socket/qlocalsocket_tcp.cpp
index 2f0179f40a..03a45e85af 100644
--- a/src/network/socket/qlocalsocket_tcp.cpp
+++ b/src/network/socket/qlocalsocket_tcp.cpp
@@ -316,6 +316,7 @@ void QLocalSocket::abort()
{
Q_D(QLocalSocket);
d->tcpSocket->abort();
+ close();
}
qint64 QLocalSocket::bytesAvailable() const
diff --git a/src/network/socket/qlocalsocket_unix.cpp b/src/network/socket/qlocalsocket_unix.cpp
index 5e050ad323..efcec8a3a9 100644
--- a/src/network/socket/qlocalsocket_unix.cpp
+++ b/src/network/socket/qlocalsocket_unix.cpp
@@ -498,6 +498,7 @@ void QLocalSocket::abort()
{
Q_D(QLocalSocket);
d->unixSocket.abort();
+ close();
}
qint64 QLocalSocket::bytesAvailable() const
diff --git a/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp b/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp
index cc0b927970..e1e01a5146 100644
--- a/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp
+++ b/tests/auto/network/socket/qlocalsocket/tst_qlocalsocket.cpp
@@ -914,6 +914,7 @@ void tst_QLocalSocket::simpleCommandProtocol2()
server.listen(QStringLiteral("simpleProtocol"));
QLocalSocket localSocketWrite;
+ QSignalSpy spyDisconnected(&localSocketWrite, SIGNAL(disconnected()));
localSocketWrite.connectToServer(server.serverName());
QVERIFY(server.waitForNewConnection());
QLocalSocket* localSocketRead = server.nextPendingConnection();
@@ -955,6 +956,11 @@ void tst_QLocalSocket::simpleCommandProtocol2()
}
localSocketWrite.abort();
+ QCOMPARE(localSocketWrite.state(), QLocalSocket::UnconnectedState);
+ QCOMPARE(spyDisconnected.count(), 1);
+ QCOMPARE(localSocketWrite.bytesToWrite(), 0);
+ QVERIFY(!localSocketWrite.isOpen());
+
QVERIFY(localSocketRead->waitForDisconnected(1000));
}