Skip to content
Snippets Groups Projects
Commit f420b7a1 authored by Scott Snyder's avatar Scott Snyder Committed by scott snyder
Browse files

CaloTPCnv: Adjust use of DataPool to work properly with locking.

Upcoming changes to DataPool will have the DataPool object take out a lock.
This is needed for proper MT operation, but means that creating two
instances with the same type in the same thread will deadlock.
This wouldn't usually happen, but it did occur in one of the unit tests.
parent bc48f2a7
No related merge requests found
......@@ -392,7 +392,13 @@ int main()
// These allocate static data in ctors.
ElementLinkCnv_p2<ElementLink<CaloShowerContainer> > dumcnv1;
ElementLinkCnv_p2<ElementLink<CaloCellLinkContainer> > dumcnv2;
DataPool<CaloCluster> pooldum;
{
// Need to instantiate an instance of this before Leakcheck,
// to get the allocator created. But the instance will also
// hold a lock on the allocator, so can't leave this live
// or we'll deadlock.
DataPool<CaloCluster> pooldum;
}
Athena_test::Leakcheck check;
std::unique_ptr<const CaloClusterContainer> clust = make_clusters();
testit<CaloClusterContainer_p7, CaloClusterContainerCnvTest_p7> (*clust, 7);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment