| 13 | CDS_EXPORT_API size_t ThreadData::s_nProcCount = 1; |
| 14 | |
| 15 | CDS_EXPORT_API void ThreadData::init() |
| 16 | { |
| 17 | if ( m_nAttachCount++ == 0 ) { |
| 18 | if ( cds::gc::HP::isUsed()) |
| 19 | cds::gc::hp::smr::attach_thread(); |
| 20 | if ( cds::gc::DHP::isUsed()) |
| 21 | cds::gc::dhp::smr::attach_thread(); |
| 22 | |
| 23 | if ( cds::urcu::details::singleton<cds::urcu::general_instant_tag>::isUsed()) |
| 24 | m_pGPIRCU = cds::urcu::details::singleton<cds::urcu::general_instant_tag>::attach_thread(); |
| 25 | if ( cds::urcu::details::singleton<cds::urcu::general_buffered_tag>::isUsed()) |
| 26 | m_pGPBRCU = cds::urcu::details::singleton<cds::urcu::general_buffered_tag>::attach_thread(); |
| 27 | if ( cds::urcu::details::singleton<cds::urcu::general_threaded_tag>::isUsed()) |
| 28 | m_pGPTRCU = cds::urcu::details::singleton<cds::urcu::general_threaded_tag>::attach_thread(); |
| 29 | #ifdef CDS_URCU_SIGNAL_HANDLING_ENABLED |
| 30 | if ( cds::urcu::details::singleton<cds::urcu::signal_buffered_tag>::isUsed()) |
| 31 | m_pSHBRCU = cds::urcu::details::singleton<cds::urcu::signal_buffered_tag>::attach_thread(); |
| 32 | #endif |
| 33 | } |
| 34 | } |
| 35 | |
| 36 | CDS_EXPORT_API bool ThreadData::fini() |
| 37 | { |
no outgoing calls
no test coverage detected