Solving two issues reported by PC-lint
authorGuilherme Maciel Ferreira <guilherme.maciel.ferreira@gmail.com>
Sun, 4 Sep 2011 11:50:48 +0000 (08:50 -0300)
committerGuilherme Maciel Ferreira <guilherme.maciel.ferreira@gmail.com>
Sun, 4 Sep 2011 11:50:48 +0000 (08:50 -0300)
- Ignoring return value of function 'sigfillset(__sigset_t *)'
- Declaration of symbol 'signal' hides symbol 'signal(int, void (*)(int))'

src/main.cpp

index 0040f57..6518c73 100644 (file)
@@ -164,10 +164,15 @@ void stop_pingers(
 void block_all_signals()
 {
     sigset_t all_signals;
-    sigfillset(&all_signals);
+    int result = sigfillset( &all_signals );
+    if ( result == -1 ) {
+        GlobalLogger.error() << "Error: sigfillset failed." << endl;
+    }
 
-    if (sigprocmask(SIG_SETMASK, &all_signals, NULL) == -1)
-        throw runtime_error("Can't block signals");
+    result = sigprocmask( SIG_SETMASK, &all_signals, NULL );
+    if ( result == -1 ) {
+        throw runtime_error( "Can't block signals" );
+    }
 }
 
 /**
@@ -179,31 +184,39 @@ void handle_signals()
 {
     // Wait for signals
     sigset_t all_signals;
-    sigfillset(&all_signals);
+    int result = sigfillset( &all_signals );
+    if ( result == -1 ) {
+        GlobalLogger.error() << "Error: sigfillset failed." << endl;
+    }
 
     // Synchronously process signals
     bool want_quit = false;
-    while (!want_quit)
+    while ( !want_quit )
     {
-        int signal = 0;
-        int err = sigwait(&all_signals, &signal);
+        int signal_number = 0;
+        int err = sigwait( &all_signals, &signal_number );
         if (!err)
         {
-            if (signal == SIGUSR1)
+            if ( signal_number == SIGUSR1 )
             {
                 int new_log_level = I2n::Logger::get_log_level()+1;
                 I2n::Logger::set_log_level( new_log_level );                      //lint !e534
                 GlobalLogger.info() << "Increased log level to " << new_log_level;
-            } else if (signal == SIGUSR2)
+            }
+            else if ( signal_number == SIGUSR2 )
             {
                 I2n::Logger::set_log_level( default_log_level );                                          //lint !e534
                 GlobalLogger.info() << "Reset log level to normal (" << default_log_level << ")";
-            } else if (signal == SIGTERM || signal == SIGINT)
+            }
+            else if ( ( signal_number == SIGTERM ) || ( signal_number == SIGINT ))
             {
                 want_quit = true;
             }
-        } else
+        }
+        else
+        {
             want_quit = true;
+        }
     }
 }