#include <SALOMETraceCollector.hxx>
Public Member Functions | |
~SALOMETraceCollector () | |
Destructor: wait until printing thread ends (SALOMETraceCollector::run) More... | |
Static Public Member Functions | |
static BaseTraceCollector * | instance () |
This class is for use with CORBA, inside SALOME. More... | |
static void * | run (void *bid) |
In a separate thread, loop to print traces. More... | |
Protected Member Functions | |
SALOMETraceCollector () | |
Constructor: no need of LocalTraceBufferPool object initialization here, thread safe singleton used in LocalTraceBufferPool::instance() More... | |
Static Protected Attributes | |
static int | _threadToClose = 0 |
static BaseTraceCollector * | _singleton = 0 |
static pthread_mutex_t | _singletonMutex |
static pthread_t * | _threadId = 0 |
static sem_t | _sem |
Static Private Attributes | |
static CORBA::ORB_ptr | _orb = 0 |
SALOMETraceCollector::~SALOMETraceCollector | ( | ) |
Destructor: wait until printing thread ends (SALOMETraceCollector::run)
References BaseTraceCollector::_singleton, BaseTraceCollector::_singletonMutex, BaseTraceCollector::_threadId, BaseTraceCollector::_threadToClose, DEVTRACE, LocalTraceBufferPool::insert(), LocalTraceBufferPool::instance(), and NORMAL_MESS.
|
protected |
Constructor: no need of LocalTraceBufferPool object initialization here, thread safe singleton used in LocalTraceBufferPool::instance()
References BaseTraceCollector::_threadId, and BaseTraceCollector::_threadToClose.
Referenced by instance().
|
static |
This class is for use with CORBA, inside SALOME.
Type of trace (and corresponding class) is choosen in LocalTraceBufferPool.
Guarantees a unique object instance of the class (singleton thread safe) a separate thread for loop to print traces is launched.
References _orb, BaseTraceCollector::_sem, BaseTraceCollector::_singleton, BaseTraceCollector::_singletonMutex, run(), and SALOMETraceCollector().
Referenced by SingletonInstance().
|
static |
In a separate thread, loop to print traces.
Mutex garantees intialisation on instance method is done and only one run allowed (double check ...) Loop until there is no more buffer to print, and no ask for end from destructor. Get a buffer. If type = ABORT then exit application with message.
References _orb, BaseTraceCollector::_sem, BaseTraceCollector::_threadId, BaseTraceCollector::_threadToClose, ABORT_MESS, DEVTRACE, LocalTraceBufferPool::instance(), LocalTraceBufferPool::retrieve(), LocalTrace_TraceInfo::threadId, LocalTraceBufferPool::toCollect(), LocalTrace_TraceInfo::trace, TraceCollector_WaitForServerReadiness(), and LocalTrace_TraceInfo::traceType.
Referenced by instance().
|
staticprivate |
Referenced by instance(), and run().
|
staticprotectedinherited |
|
staticprotectedinherited |
|
staticprotectedinherited |
|
staticprotectedinherited |
Referenced by FileTraceCollector::FileTraceCollector(), LocalTraceCollector::LocalTraceCollector(), LocalTraceCollector::run(), FileTraceCollector::run(), run(), SALOMETraceCollector(), FileTraceCollector::~FileTraceCollector(), LocalTraceCollector::~LocalTraceCollector(), and ~SALOMETraceCollector().
|
staticprotectedinherited |
Referenced by FileTraceCollector::FileTraceCollector(), LocalTraceCollector::LocalTraceCollector(), LocalTraceCollector::run(), FileTraceCollector::run(), run(), SALOMETraceCollector(), FileTraceCollector::~FileTraceCollector(), LocalTraceCollector::~LocalTraceCollector(), and ~SALOMETraceCollector().