/[monit]/monit/event.c
ViewVC logotype

Diff of /monit/event.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.52 by martinp, Mon Nov 7 11:29:55 2005 UTC revision 1.53 by martinp, Sat Nov 19 00:37:42 2005 UTC
# Line 498  void Event_queue_process() { Line 498  void Event_queue_process() {
498    EventAction_T  ea = NULL;    EventAction_T  ea = NULL;
499    Action_T       a = NULL;    Action_T       a = NULL;
500    
501    /* return in the case that the eventqueue is not enabled */    /* return in the case that the eventqueue is not enabled or empty */
502    if(!Run.eventlist_dir)    if( !Run.eventlist_dir ||
503         (
504          !Run.handler_init                     &&
505          !Run.handler_queue[HANDLER_ALERT]     &&
506          !Run.handler_queue[HANDLER_COLLECTOR]
507         )
508        )
509    {    {
510      return;      return;
511    }    }
# Line 603  void Event_queue_process() { Line 609  void Event_queue_process() {
609        /* Retry all remaining handlers */        /* Retry all remaining handlers */
610    
611        /* alert */        /* alert */
612        if(        if(e->flag & HANDLER_ALERT)
         ((Run.handler_flag & HANDLER_ALERT) != HANDLER_ALERT)  
         &&  
         e->flag & HANDLER_ALERT  
       )  
613        {        {
614          if( handle_alert(e) != HANDLER_ALERT )          if(Run.handler_init)
615          {          {
616            e->flag &= ~HANDLER_ALERT;            Run.handler_queue[HANDLER_ALERT]++;
617          }          }
618          else          if((Run.handler_flag & HANDLER_ALERT) != HANDLER_ALERT)
619          {          {
620            log("Alert handler failed, retry scheduled for next cycle\n");            if( handle_alert(e) != HANDLER_ALERT )
621            Run.handler_flag |= HANDLER_ALERT;            {
622                e->flag &= ~HANDLER_ALERT;
623                Run.handler_queue[HANDLER_ALERT]--;
624              }
625              else
626              {
627                log("Alert handler failed, retry scheduled for next cycle\n");
628                Run.handler_flag |= HANDLER_ALERT;
629              }
630          }          }
631        }        }
632    
633        /* collector */        /* collector */
634        if(        if(e->flag & HANDLER_COLLECTOR)
         ((Run.handler_flag & HANDLER_COLLECTOR) != HANDLER_COLLECTOR)  
         &&  
         e->flag & HANDLER_COLLECTOR  
       )  
635        {        {
636          if( handle_collector(e) != HANDLER_COLLECTOR )          if(Run.handler_init)
637          {          {
638            e->flag &= ~HANDLER_COLLECTOR;            Run.handler_queue[HANDLER_COLLECTOR]++;
639          }          }
640          else          if((Run.handler_flag & HANDLER_COLLECTOR) != HANDLER_COLLECTOR)
641          {          {
642            log("Collector handler failed, retry scheduled for next cycle\n");            if( handle_collector(e) != HANDLER_COLLECTOR )
643            Run.handler_flag |= HANDLER_COLLECTOR;            {
644                e->flag &= ~HANDLER_COLLECTOR;
645                Run.handler_queue[HANDLER_COLLECTOR]--;
646              }
647              else
648              {
649                log("Collector handler failed, retry scheduled for next cycle\n");
650                Run.handler_flag |= HANDLER_COLLECTOR;
651              }
652          }          }
653        }        }
654    
# Line 657  void Event_queue_process() { Line 671  void Event_queue_process() {
671      }      }
672      de = readdir(dir);      de = readdir(dir);
673    }    }
674      Run.handler_init = FALSE;
675    closedir(dir);    closedir(dir);
676    FREE(a);    FREE(a);
677    FREE(ea);    FREE(ea);
# Line 886  static void Event_queue_add(Event_T E) { Line 901  static void Event_queue_add(Event_T E) {
901    }    }
902    else    else
903    {    {
904        if(!Run.handler_init && E->flag & HANDLER_ALERT)
905        {
906          Run.handler_queue[HANDLER_ALERT]++;
907        }
908        if(!Run.handler_init && E->flag & HANDLER_COLLECTOR)
909        {
910          Run.handler_queue[HANDLER_COLLECTOR]++;
911        }
912      fclose(file);      fclose(file);
913    }    }
914    

Legend:
Removed from v.1.52  
changed lines
  Added in v.1.53

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26