From: prascle Date: Mon, 3 Oct 2005 09:49:35 +0000 (+0000) Subject: PR: use of BasicsGenericDestructor X-Git-Tag: V302_lcrm_20051002~4 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=f6761d3fc1c5950b944a6f5f07b4778aadbb8544;p=modules%2Fkernel.git PR: use of BasicsGenericDestructor --- diff --git a/src/SALOMELocalTrace/FileTraceCollector.cxx b/src/SALOMELocalTrace/FileTraceCollector.cxx index e5e51cd2b..6015c5070 100644 --- a/src/SALOMELocalTrace/FileTraceCollector.cxx +++ b/src/SALOMELocalTrace/FileTraceCollector.cxx @@ -130,8 +130,8 @@ void* FileTraceCollector::run(void *bid) while ((!_threadToClose) || myTraceBuffer->toCollect() ) { - //if (_threadToClose) - // cerr << "FileTraceCollector _threadToClose" << endl << flush; + if (_threadToClose) + cerr << "FileTraceCollector _threadToClose" << endl << flush; int fullBuf = myTraceBuffer->retrieve(myTrace); if (myTrace.traceType == ABORT_MESS) @@ -167,11 +167,12 @@ void* FileTraceCollector::run(void *bid) #endif } } - //cerr <<"traceFile.close();" << endl << flush; + cerr <<"traceFile.close();" << endl << flush; traceFile.close(); + cerr <<"traceFile.close()_end;" << endl << flush; + pthread_exit(NULL); } - pthread_exit(NULL); - return NULL; + //return NULL; } // ============================================================================ @@ -186,7 +187,7 @@ FileTraceCollector:: ~FileTraceCollector() ret = pthread_mutex_lock(&_singletonMutex); // acquire lock to be alone if (_singleton) { - //cerr << "FileTraceCollector:: ~FileTraceCollector()" << endl << flush; + cerr << "FileTraceCollector:: ~FileTraceCollector()" << endl << flush; LocalTraceBufferPool* myTraceBuffer = LocalTraceBufferPool::instance(); _threadToClose = 1; myTraceBuffer->insert(NORMAL_MESS,"end of trace\n"); // to wake up thread @@ -194,7 +195,7 @@ FileTraceCollector:: ~FileTraceCollector() { int ret = pthread_join(*_threadId, NULL); if (ret) cerr << "error close FileTraceCollector : "<< ret << endl; - //else cerr << "FileTraceCollector destruction OK" << endl; + else cerr << "FileTraceCollector destruction OK" << endl; _threadId = 0; _threadToClose = 0; } diff --git a/src/SALOMELocalTrace/LocalTraceBufferPool.cxx b/src/SALOMELocalTrace/LocalTraceBufferPool.cxx index 94fed5fd3..bdc98695d 100644 --- a/src/SALOMELocalTrace/LocalTraceBufferPool.cxx +++ b/src/SALOMELocalTrace/LocalTraceBufferPool.cxx @@ -84,8 +84,8 @@ LocalTraceBufferPool* LocalTraceBufferPool::instance() { // the lock after the first test _singleton = new LocalTraceBufferPool(); - DESTRUCTOR_OF *ptrDestroy = - new DESTRUCTOR_OF (*_singleton); + DESTRUCTOR_OF *ptrDestroy = + new DESTRUCTOR_OF (*_singleton); // --- start a trace Collector diff --git a/src/SALOMETraceCollector/SALOMETraceCollector.cxx b/src/SALOMETraceCollector/SALOMETraceCollector.cxx index 93dd0ebc4..3b31be363 100644 --- a/src/SALOMETraceCollector/SALOMETraceCollector.cxx +++ b/src/SALOMETraceCollector/SALOMETraceCollector.cxx @@ -141,34 +141,37 @@ void* SALOMETraceCollector::run(void *bid) while ((!_threadToClose) || myTraceBuffer->toCollect() ) { int fullBuf = myTraceBuffer->retrieve(myTrace); - if (myTrace.traceType == ABORT_MESS) + if (!CORBA::is_nil(_orb)) { - stringstream abortMessage(""); + if (myTrace.traceType == ABORT_MESS) + { + stringstream abortMessage(""); #ifndef WNT - abortMessage << "INTERRUPTION from thread " - << myTrace.threadId << " : " << myTrace.trace; + abortMessage << "INTERRUPTION from thread " + << myTrace.threadId << " : " << myTrace.trace; #else - abortMessage << "INTERRUPTION from thread " - << (void*)&myTrace.threadId - << " : " << myTrace.trace; + abortMessage << "INTERRUPTION from thread " + << (void*)&myTrace.threadId + << " : " << myTrace.trace; #endif - CORBA::String_var LogMsg = - CORBA::string_dup(abortMessage.str().c_str()); - m_pInterfaceLogger->putMessage(LogMsg); - exit(1); - } - else - { - stringstream aMessage(""); + CORBA::String_var LogMsg = + CORBA::string_dup(abortMessage.str().c_str()); + m_pInterfaceLogger->putMessage(LogMsg); + exit(1); + } + else + { + stringstream aMessage(""); #ifndef WNT - aMessage << "th. " << myTrace.threadId + aMessage << "th. " << myTrace.threadId #else - aMessage << "th. " << (void*)&myTrace.threadId + aMessage << "th. " << (void*)&myTrace.threadId #endif - << " " << myTrace.trace; - CORBA::String_var LogMsg = - CORBA::string_dup(aMessage.str().c_str()); - m_pInterfaceLogger->putMessage(LogMsg); + << " " << myTrace.trace; + CORBA::String_var LogMsg = + CORBA::string_dup(aMessage.str().c_str()); + m_pInterfaceLogger->putMessage(LogMsg); + } } } }