summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/libs/utils/launchersocket.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/libs/utils/launchersocket.cpp b/src/libs/utils/launchersocket.cpp
index 10fd7bb16f..429f8c2bf3 100644
--- a/src/libs/utils/launchersocket.cpp
+++ b/src/libs/utils/launchersocket.cpp
@@ -461,9 +461,15 @@ void LauncherSocket::sendData(const QByteArray &data)
{
if (!isReady())
return;
- QMutexLocker locker(&m_mutex);
- m_requests.push_back(data);
- if (m_requests.size() == 1)
+
+ auto storeRequest = [this](const QByteArray &data)
+ {
+ QMutexLocker locker(&m_mutex);
+ m_requests.push_back(data);
+ return m_requests.size() == 1; // Returns true if requests handling should be triggered.
+ };
+
+ if (storeRequest(data))
QMetaObject::invokeMethod(this, &LauncherSocket::handleRequests);
}