Salome HOME
PR: bug 5721 correction
authorprascle <prascle>
Mon, 19 Apr 2004 06:35:42 +0000 (06:35 +0000)
committerprascle <prascle>
Mon, 19 Apr 2004 06:35:42 +0000 (06:35 +0000)
src/Utils/Utils_CatchSignals.cxx

index 8d9b6c41387a7c7b2904c99ee7e8fe6d24cebf4a..5ffc4f936e716a62f09490570e1c1523351fb254 100644 (file)
@@ -105,15 +105,23 @@ static void Handler(const int theSig )
     myReserve = NULL;
   }
   char aMessage[1000];
+
+#if defined __GNUC__
+  #if __GNUC__ == 2
+    #define __GNUC_2__
+  #endif
+#endif
+#if defined __GNUC_2__
+  const char* message = "La fonction strsignal n'est pas supportée par gcc2.95.4";
+  sprintf (aMessage, "%d signal cautch : %s", theSig, message);
+#else
   sprintf (aMessage, "%d signal cautch : %s", theSig, strsignal(theSig));
-#ifdef _DEBUG_ 
-  MESSAGE("Utils_CatchSignal  Handler :: " << aMessage );
 #endif
+
+
+  MESSAGE("Utils_CatchSignal  Handler :: " << aMessage );
   if(theCallBack == NULL) {
-#ifdef _DEBUG_ 
     MESSAGE("Utils_CatchSignal  Handler : throw std::runtime_error()");
-#endif
     throw (std::runtime_error(aMessage));
   }
   else ((void (*)())theCallBack)();  
@@ -129,10 +137,8 @@ static SIG_PFV TryHandlerReset( int theSigNum )
   if (signal(theSigNum, (SIG_PFV) &Handler) == SIG_IGN)
     {
       signal(theSigNum, SIG_IGN);  
-#ifdef _DEBUG_
       MESSAGE("signal "<<theSigNum <<" is kept as ignored");
-#endif
-     return SIG_IGN;
+      return SIG_IGN;
     } 
   else return signal(theSigNum, (SIG_PFV) &Handler);
 }