File tree Expand file tree Collapse file tree 1 file changed +12
-6
lines changed
QuantumGateLib/Core/KeyGeneration Expand file tree Collapse file tree 1 file changed +12
-6
lines changed Original file line number Diff line number Diff line change @@ -268,18 +268,24 @@ namespace QuantumGate::Implementation::Core::KeyGeneration
268
268
{
269
269
m_KeyQueues.WithUniqueLock ([&](KeyQueueMap& queues)
270
270
{
271
- for (auto it = queues.begin (); it != queues.end () && !shutdown_event.IsSet (); ++it)
271
+ auto it = queues.begin ();
272
+ while (it != queues.end () && !shutdown_event.IsSet ())
272
273
{
273
- auto active = false ;
274
- Size num_pending_events{ 0 };
274
+ auto erase = false ;
275
275
276
276
it->second ->WithUniqueLock ([&](KeyQueue& key_queue)
277
277
{
278
- active = key_queue.Active ;
279
- num_pending_events = key_queue.NumPendingEvents ;
278
+ if (!key_queue.Active && key_queue.NumPendingEvents == 0 )
279
+ {
280
+ erase = true ;
281
+ }
280
282
});
281
283
282
- if (!active && num_pending_events == 0 ) it = queues.erase (it);
284
+ if (erase)
285
+ {
286
+ it = queues.erase (it);
287
+ }
288
+ else ++it;
283
289
}
284
290
});
285
291
You can’t perform that action at this time.
0 commit comments