diff --git a/src/Synchronizer.cpp b/src/Synchronizer.cpp index d4b038589..d3cf7028b 100644 --- a/src/Synchronizer.cpp +++ b/src/Synchronizer.cpp @@ -258,7 +258,9 @@ void Synchronizer::process(list::iterator name) success = false; sleep(1); s.lock(); - pendingOps[key] = pending; + auto inserted = pendingOps.insert(pair >(key, pending)); + if (!inserted.second) + inserted.first->second->opFlags |= pending->opFlags; opsInProgress.erase(key); makeJob(key); objNames.erase(name);