<table><tr><td style="">leinir added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D5639" rel="noreferrer">View Revision</a></tr></table><br /><div><div><blockquote style="border-left: 3px solid #8C98B8;
          color: #6B748C;
          font-style: italic;
          margin: 4px 0 12px 0;
          padding: 8px 12px;
          background-color: #F8F9FC;">
<div style="font-style: normal;
          padding-bottom: 4px;">In <a href="https://phabricator.kde.org/D5639#105620" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;" rel="noreferrer">D5639#105620</a>, <a href="https://phabricator.kde.org/p/apol/" style="
              border-color: #f1f7ff;
              color: #19558d;
              background-color: #f1f7ff;
                border: 1px solid transparent;
                border-radius: 3px;
                font-weight: bold;
                padding: 0 4px;" rel="noreferrer">@apol</a> wrote:</div>
<div style="margin: 0;
          padding: 0;
          border: 0;
          color: rgb(107, 116, 140);"><p>Won't caching already fix the problem of traffic there? This change adds quite some complexity (all these QMutex make me cringe, these methods should always be called from the same thread anyway...)</p></div>
</blockquote>

<p>That was my initial impression as well, but it turns out that because the requests go out at the same time, they miss each other (i am not quite sure, but i think the redirection chain might have something to do with that)... The first step does seem to not be needed, though, as with the rechecking on the xml loader which i added after the document cache, the document cache doesn't seem to ever be hit.</p>

<p>The mutexes are just to safeguard the QHash access, which isn't thread safe... However, i think I could likely swap that for a thread-bound global static, since while the document cache would be completely global, the xml loader one doesn't really need to be... if i take out the document cache, i can get rid of those mutexes which certainly do annoy me as well. I will rework that a bit and see what happens.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R304 KNewStuff</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D5639" rel="noreferrer">https://phabricator.kde.org/D5639</a></div></div><br /><div><strong>To: </strong>leinir, whiting, apol<br /><strong>Cc: </strong>Frameworks<br /></div>