Salome HOME
updated copyright message
[modules/kernel.git] / src / SALOMETraceCollector / Test / SALOMETraceCollectorTest.cxx
index 2a84b4b412939e0c8836623d8476bd7e3886ec3d..2b57a64722616bbf36f745ec786118c25ba0efb7 100644 (file)
@@ -1,3 +1,24 @@
+// Copyright (C) 2007-2023  CEA, EDF, OPEN CASCADE
+//
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
 
 #include "SALOMETraceCollectorTest.hxx"
 
@@ -7,8 +28,11 @@
 #include <cstdlib>
 #include "LocalTraceBufferPool.hxx"
 #include "utilities.h"
+#include "Basics_Utils.hxx"
 
-using namespace std;
+#ifdef WIN32
+#define setenv Kernel_Utils::setenv
+#endif 
 
 // ============================================================================
 /*!
@@ -45,7 +69,8 @@ void *PrintHello(void *threadid);
 void 
 SALOMETraceCollectorTest::testLoadBufferPoolCORBA()
 {
-  string s = "with_logger";
+  LocalTraceBufferPool* bp1 = LocalTraceBufferPool::instance();
+  std::string s = "with_logger";
   CPPUNIT_ASSERT(! setenv("SALOME_trace",s.c_str(),1)); // 1: overwrite
 
   // --- NUM_THREADS thread creation for trace generation.
@@ -55,7 +80,7 @@ SALOMETraceCollectorTest::testLoadBufferPoolCORBA()
   for(t=0;t<NUM_THREADS;t++)
     {
       MESSAGE("Creating thread " << t);
-      rc = pthread_create(&threads[t], NULL, PrintHello, (void *)t) ;
+      rc = pthread_create(&threads[t], NULL, PrintHello, &t) ;
       CPPUNIT_ASSERT( !rc);
     }
 
@@ -63,12 +88,11 @@ SALOMETraceCollectorTest::testLoadBufferPoolCORBA()
 
   for(t=0;t<NUM_THREADS;t++)
     {
-      int ret = pthread_join(threads[t], NULL);
+      pthread_join(threads[t], NULL);
       MESSAGE("--------------------- end of PrintHello thread " << t);
     }
   MESSAGE(" ---- end of PrintHello threads ---- ");
 
-  LocalTraceBufferPool* bp1 = LocalTraceBufferPool::instance();
   CPPUNIT_ASSERT(bp1);
   bp1->deleteInstance(bp1);
 }
@@ -82,9 +106,15 @@ SALOMETraceCollectorTest::testLoadBufferPoolCORBA()
 
 void *PrintHello(void *threadid)
 {
-  int id_thread = (int)threadid;
-  for (int i=0; i<NUM_MESSAGES;i++)
-    MESSAGE("Hello World! This is a trace test : " << id_thread 
-           << " - iter " << i);
+  SALOME_UNUSED(threadid); // unused in release mode
+#if defined(_DEBUG_) || defined(_DEBUG)
+  long id_thread = (long)threadid;
+      for (int i=0; i<NUM_MESSAGES;i++) 
+        MESSAGE("Hello World! This is a trace test : " << id_thread 
+                << " - iter " << i);
+#endif
   pthread_exit(NULL);
+#ifdef WIN32
+  return NULL;
+#endif
 }