TGeoManager in multithread with std::thread

I am trying to convert my simulation code which uses TGeoManager with multiple threads for the recent conversion in ROOT6 from TThread to std::thread. With the old TThreads everything worked fine.

After creation of threads, each of them can “talk” to the GeoManager fine, but as soon as AddNavigator() is called, execution of that tread is blocked.

I wonder is there some hidden step which I miss? For example, before one had to do TThread::Initialize(), do I have to do any initialization with the new implementation? Note that I do set TGeoManager to multithread mode.

Any ideas?

Hi, note that there is a fix for that dating ~2month ago, coud you retry with a more recent master.

Hello Andrei,
Do you mean that in the 6.10-04 “official” version (release from 2017-07-28) it is a bug which is fixed in the master and in the next release you think the problem will be gone?
Thank you!

Right, I checked and that fix is not in the release, but I suggest to check with the master to make sure.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.