11 namespace Concurrency {
27 <<
" state: " << ( m_terminate ?
"terminate" :
"initialize" ) <<
endmsg;
30 log <<
MSG::WARNING <<
"thread initialization has already been done on thread " <<
std::hex << pthread_self()
34 if ( m_tools.retrieve().isFailure() ) {
35 log <<
MSG::ERROR <<
"unable to retrieve ToolHandleArray " << m_tools <<
endmsg;
39 if ( m_tools.size() == 0 ) {
45 for (
auto& t : m_tools ) {
60 <<
" threw GaudiException: " << exc <<
endmsg;
64 <<
" threw std::exception: " << exc.
what() <<
endmsg;
68 <<
" threw unknown exception" <<
endmsg;
73 m_tools.release().ignore();
77 if ( m_barrier != 0 ) {
Definition of the MsgStream class used to transmit messages.
tbb::task * execute() override
Execute the task.
Define general base for Gaudi exception.
static std::atomic< bool > m_execFailed
thread_local bool ThreadInitDone
MSG::Level level() const
Retrieve output level.
Helper functions to set/get the application return code.
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.