summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNils Jeisecke <jeisecke@saltation.de>2013-01-08 09:57:32 +0100
committerNils Jeisecke <jeisecke@saltation.de>2013-04-09 13:53:20 +0200
commit8fd81b2a0d65aa7275d079903f6d8fe74a1fb3bf (patch)
treedd2c2d5e71661ac889678338e59aa7ad1772dedd
parent8926435d3f2b94ebfadc1bec5fd78cf0dfa5c2c8 (diff)
QtSingleApplication: Make sure client reads ack data before disconnecting
This solves the problem on Windows that sometimes a second application instance is started. Task-number: QTSOLBUG-160 Change-Id: I6586e2ccfbc1d640bcf42bc3bdbeed32a981d842 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
-rw-r--r--qtsingleapplication/src/qtlocalpeer.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/qtsingleapplication/src/qtlocalpeer.cpp b/qtsingleapplication/src/qtlocalpeer.cpp
index 4a84036..332b064 100644
--- a/qtsingleapplication/src/qtlocalpeer.cpp
+++ b/qtsingleapplication/src/qtlocalpeer.cpp
@@ -197,6 +197,7 @@ void QtLocalPeer::receiveConnection()
QString message(QString::fromUtf8(uMsg));
socket->write(ack, qstrlen(ack));
socket->waitForBytesWritten(1000);
+ socket->waitForDisconnected(1000); // make sure client reads ack
delete socket;
emit messageReceived(message); //### (might take a long time to return)
}