Skip to content

Address crashes in the TrigInDetMonitoring when running multi-threaded

Mark Sutton requested to merge sutt/athena:prot into 22.0

When running in multithreaded mode the scheduler very likely does not respect the proper use of the ReadHandle method with no RedHandleKey - a call to ReadHandle might return the collection before it has been produced leading to a corrupt collection when the requesting algorithm accesses the ReadHandle.

In practicem, such a ReadHandle call should lock until the collection has been produced, else this call can not work. However, as a workaround, we add a dummy ReadHandleKey that, once initialised, should mean that the scheduler only executes the monitoring after the tracking has completed - the actual ReadHandle call does not need to use this RHKey.

This partly addresses ATR-25821

Edited by Mark Sutton

Merge request reports