[ntuple, daos] Defer daos_init() call until needed#8093
Conversation
|
Starting build on |
|
@phsft-bot build |
|
Starting build on |
901165d to
f407c8b
Compare
|
Starting build on |
The RAII object in RDaos.cxx was constructed statically, which causes a DAOS-enabled RNTuple build to call `daos_init()` (or `daos_fini()` at exit) even if the only the file backend was used by user code. This commit turns the RAII object into a static variable in `RDaosPool::RDaosPool()` which is initialized during the first call to the constructor. Note that static variable initialization is guaranteed to be thread-safe by ISO C++.
f407c8b to
a7eff46
Compare
|
Starting build on |
|
Build failed on mac11.0/cxx17. Warnings:
And 1475 more Failing tests:
|
|
Build failed on windows10/cxx14. Errors:
|
The RAII object in RDaos.cxx was constructed statically, which causes a DAOS-enabled RNTuple build to call
daos_init()(ordaos_fini()at exit) even if the only the file backend was used by user code.This commit turns the RAII object into a static variable in
RDaosPool::RDaosPool()which is initialized during the first call to theconstructor. Note that static variable initialization is guaranteed to be thread-safe by ISO C++.