From e3a93e08d6ff245291b72d778dbd35756cce4790 Mon Sep 17 00:00:00 2001 From: Josh Klontz Date: Tue, 24 Jun 2014 11:53:36 -0400 Subject: [PATCH] thread local network access managers, for #207 --- openbr/plugins/misc.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/openbr/plugins/misc.cpp b/openbr/plugins/misc.cpp index f59455a..7fb257a 100644 --- a/openbr/plugins/misc.cpp +++ b/openbr/plugins/misc.cpp @@ -100,8 +100,7 @@ public: private: BR_PROPERTY(Mode, mode, Encoded) - mutable QNetworkAccessManager nam; - mutable QMutex namLock; + mutable QThreadStorage nam; void project(const Template &src, Template &dst) const { @@ -118,9 +117,9 @@ private: device = new QFile(url); device->open(QIODevice::ReadOnly); } else { - namLock.lock(); - QNetworkReply *reply = nam.get(QNetworkRequest(url)); - namLock.unlock(); + if (!nam.hasLocalData()) + nam.setLocalData(new QNetworkAccessManager()); + QNetworkReply *reply = nam.localData()->get(QNetworkRequest(url)); reply->waitForReadyRead(-1); while (!reply->isFinished()) -- libgit2 0.21.4