Salome HOME
projects
/
modules
/
kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
bos #26457 Factorization of ORB initialization
[modules/kernel.git]
/
src
/
SALOMETraceCollector
/
SALOMETraceCollector.cxx
diff --git
a/src/SALOMETraceCollector/SALOMETraceCollector.cxx
b/src/SALOMETraceCollector/SALOMETraceCollector.cxx
index dbc791758001f774110e322b04047cf89eca42ac..716cd598590a166bb9996a4f243dc474a558ff8d 100644
(file)
--- a/
src/SALOMETraceCollector/SALOMETraceCollector.cxx
+++ b/
src/SALOMETraceCollector/SALOMETraceCollector.cxx
@@
-1,4
+1,4
@@
-// Copyright (C) 2007-20
16
CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-20
21
CEA/DEN, EDF R&D, OPEN CASCADE
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@
-33,15
+33,12
@@
#include <cstdlib>
#include <omniORB4/CORBA.h>
#include <cstdlib>
#include <omniORB4/CORBA.h>
+#include "Utils_SALOME_Exception.hxx"
#include "SALOMETraceCollector.hxx"
#include "TraceCollector_WaitForServerReadiness.hxx"
#include <SALOMEconfig.h>
#include CORBA_CLIENT_HEADER(Logger)
#include "SALOMETraceCollector.hxx"
#include "TraceCollector_WaitForServerReadiness.hxx"
#include <SALOMEconfig.h>
#include CORBA_CLIENT_HEADER(Logger)
-// Class attributes initialisation, for class method SALOMETraceCollector::run
-
-CORBA::ORB_ptr SALOMETraceCollector::_orb = 0;
-
// ============================================================================
/*!
* This class is for use with CORBA, inside SALOME.
// ============================================================================
/*!
* This class is for use with CORBA, inside SALOME.
@@
-56,15
+53,10
@@
BaseTraceCollector* SALOMETraceCollector::instance()
{
if (_singleton == 0) // no need of lock when singleton already exists
{
{
if (_singleton == 0) // no need of lock when singleton already exists
{
- int ret;
- ret = pthread_mutex_lock(&_singletonMutex); // acquire lock to be alone
+ pthread_mutex_lock(&_singletonMutex); // acquire lock to be alone
if (_singleton == 0) // another thread may have got
{ // the lock after the first test
BaseTraceCollector* myInstance = new SALOMETraceCollector();
if (_singleton == 0) // another thread may have got
{ // the lock after the first test
BaseTraceCollector* myInstance = new SALOMETraceCollector();
- int argc=0;
- char *_argv=0;
- char ** argv = &_argv;
- _orb = CORBA::ORB_init (argc, argv);
sem_init(&_sem,0,0); // to wait until run thread is initialized
pthread_t traceThread;
sem_init(&_sem,0,0); // to wait until run thread is initialized
pthread_t traceThread;
@@
-74,7
+66,7
@@
BaseTraceCollector* SALOMETraceCollector::instance()
sem_wait(&_sem);
_singleton = myInstance; // _singleton known only when init done
}
sem_wait(&_sem);
_singleton = myInstance; // _singleton known only when init done
}
-
ret =
pthread_mutex_unlock(&_singletonMutex); // release lock
+ pthread_mutex_unlock(&_singletonMutex); // release lock
}
return _singleton;
}
}
return _singleton;
}
@@
-90,7
+82,7
@@
BaseTraceCollector* SALOMETraceCollector::instance()
*/
// ============================================================================
*/
// ============================================================================
-void* SALOMETraceCollector::run(void
*bid
)
+void* SALOMETraceCollector::run(void
* /*bid*/
)
{
_threadId = new pthread_t;
*_threadId = pthread_self();
{
_threadId = new pthread_t;
*_threadId = pthread_self();
@@
-102,7
+94,7
@@
void* SALOMETraceCollector::run(void *bid)
SALOME_Logger::Logger_var m_pInterfaceLogger;
CORBA::Object_var obj;
SALOME_Logger::Logger_var m_pInterfaceLogger;
CORBA::Object_var obj;
- obj = TraceCollector_WaitForServerReadiness(
_orb,
"Logger");
+ obj = TraceCollector_WaitForServerReadiness("Logger");
if (!CORBA::is_nil(obj))
m_pInterfaceLogger = SALOME_Logger::Logger::_narrow(obj);
if (CORBA::is_nil(m_pInterfaceLogger))
if (!CORBA::is_nil(obj))
m_pInterfaceLogger = SALOME_Logger::Logger::_narrow(obj);
if (CORBA::is_nil(m_pInterfaceLogger))
@@
-131,7
+123,8
@@
void* SALOMETraceCollector::run(void *bid)
}
myTraceBuffer->retrieve(myTrace);
}
myTraceBuffer->retrieve(myTrace);
- if (!CORBA::is_nil(_orb))
+ //if (!CORBA::is_nil(_orb))
+ if (true)
{
if (myTrace.traceType == ABORT_MESS)
{
{
if (myTrace.traceType == ABORT_MESS)
{
@@
-176,8
+169,7
@@
void* SALOMETraceCollector::run(void *bid)
SALOMETraceCollector:: ~SALOMETraceCollector()
{
SALOMETraceCollector:: ~SALOMETraceCollector()
{
- int ret;
- ret = pthread_mutex_lock(&_singletonMutex); // acquire lock to be alone
+ pthread_mutex_lock(&_singletonMutex); // acquire lock to be alone
if (_singleton)
{
DEVTRACE("SALOMETraceCollector:: ~SALOMETraceCollector()");
if (_singleton)
{
DEVTRACE("SALOMETraceCollector:: ~SALOMETraceCollector()");
@@
-187,15
+179,15
@@
SALOMETraceCollector:: ~SALOMETraceCollector()
if (_threadId)
{
int ret = pthread_join(*_threadId, NULL);
if (_threadId)
{
int ret = pthread_join(*_threadId, NULL);
- if (ret)
std::cerr << "error close SALOMETraceCollector : "<< ret << std::endl;
- else
DEVTRACE("SALOMETraceCollector destruction OK")
;
+ if (ret)
{ std::cerr << "error close SALOMETraceCollector : "<< ret << std::endl; }
+ else
{ DEVTRACE("SALOMETraceCollector destruction OK") }
;
delete _threadId;
_threadId = 0;
_threadToClose = 0;
}
_singleton = 0;
}
delete _threadId;
_threadId = 0;
_threadToClose = 0;
}
_singleton = 0;
}
-
ret =
pthread_mutex_unlock(&_singletonMutex); // release lock
+ pthread_mutex_unlock(&_singletonMutex); // release lock
}
// ============================================================================
}
// ============================================================================