Use bare algorithm pointers in AlgResourcePool
The following discussion from !1149 (merged) should be addressed:
-
@clemenci started a discussion: This change, as is, introduces an asymmetry wrt to the single thread case:
- single thread: algorithms are destroyed during
AlgorithmManagerfinalization (before services are finalized) - multi thread: algorithms are destroyed during
AlgResourcePoolfinalization (while services are being finalized)
As
AlgResourcePooldoes not need to access the algorithms during finalization, it should be enough to use list of pointers instead of list ofSmartIFs. - single thread: algorithms are destroyed during