]> git.etc.gen.nz Git - spong.git/commitdiff
Fixed problem with np_file remove logic. They should only be deleted if
authorStephen L Johnson <sjohnson@monsters.org>
Sun, 30 Jan 2000 08:01:40 +0000 (08:01 +0000)
committerStephen L Johnson <sjohnson@monsters.org>
Sun, 30 Jan 2000 08:01:40 +0000 (08:01 +0000)
$SEND_MESSAGE is 'RED' because spong-message is not called.

src/spong-server.pl

index 3bf583f99c100be55a0a488c3524dc5222cd8b2c..f6ea8428c1b2cefdce6d6592704b8e1e8cb09072 100755 (executable)
@@ -724,11 +724,6 @@ sub message_user {
 
    if ( $cmd eq "status" ) {
 
-      # Remove current np files if event is a change in status (i.e. dur = 0)
-      if ( $duration == 0 ) {
-         &remove_np_files($host,$service);
-      }
-
       # If the color is 'red' and duration is non-zero, call spong-message for
       # escalation notifications
       if ($color eq 'red' && $duration != 0) {
@@ -744,6 +739,14 @@ sub message_user {
             &debug("change in state to red, messaging a human",2);
             &send_message( $host, $service, $color, $time, $sum, $duration );
          }
+
+         # Remove current np file if service has recovered
+         #   Normally this would be done in spong-message, but spong-messsage
+         #   is not called when $SEND_MESSAGE = "RED" for recovery events
+         if ( $duration == 0 && $color ne 'red' ) {
+            &remove_np_files($host,$service);
+         }
+
       } elsif ( $SEND_MESSAGE eq "RED-CHANGE" ) {
          # If status has changed and either color is red, call spong-message
          if ( ( -f "$SPONGDB/$host/services/$service-red" or $color eq "red" )