mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-27 11:05:44 +08:00
refs #659, #657 Fixed a mistake where admitting an uncached value could cause synchronize() to wait forever.
This commit is contained in:
@@ -381,6 +381,8 @@ namespace BlackMisc
|
|||||||
auto deferrals = fromJson(json.value("deferrals").toArray());
|
auto deferrals = fromJson(json.value("deferrals").toArray());
|
||||||
m_admittedValues.unite(m_admittedQueue);
|
m_admittedValues.unite(m_admittedQueue);
|
||||||
if (updateUuid) { m_admittedQueue.clear(); }
|
if (updateUuid) { m_admittedQueue.clear(); }
|
||||||
|
else if (! m_admittedQueue.isEmpty()) { m_admittedQueue.intersect(QSet<QString>::fromList(m_timestamps.keys())); }
|
||||||
|
|
||||||
for (const auto &key : m_timestamps.keys())
|
for (const auto &key : m_timestamps.keys())
|
||||||
{
|
{
|
||||||
if (deferrals.contains(key) && ! m_admittedValues.contains(key)) { m_timestamps.remove(key); }
|
if (deferrals.contains(key) && ! m_admittedValues.contains(key)) { m_timestamps.remove(key); }
|
||||||
|
|||||||
Reference in New Issue
Block a user