Skip to content

Commit efa56d2

Browse files
authored
Fix [#595}: Scheduled downtime bugs (#1004)
* Handle case when a downtime is both flex and triggered * Add more conditions that check when a downtime should start immediately
1 parent f6f417e commit efa56d2

File tree

6 files changed

+262
-198
lines changed

6 files changed

+262
-198
lines changed

Changelog

+4
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
Nagios Core 4 Change Log
33
########################
44

5+
4.5.8 - 2024-XX-XX
6+
------------------
7+
* Fix issues with downtimes that are both flexible and triggered and improve downtime additions in general (#595) (Dylan Anderson)
8+
59
4.5.7 - 2024-10-24
610
------------------
711
* Expand the custom variable macros to an empty string, if the custom variable does not exist (Andre Klärner)

base/events.c

+15-3
Original file line numberDiff line numberDiff line change
@@ -1300,13 +1300,25 @@ int handle_timed_event(timed_event *event) {
13001300
update_all_status_data();
13011301
break;
13021302

1303-
case EVENT_SCHEDULED_DOWNTIME:
1303+
case EVENT_SCHEDULED_DOWNTIME_START:
13041304

1305-
log_debug_info(DEBUGL_EVENTS, 0, "** Scheduled Downtime Event. Latency: %.3fs\n", latency);
1305+
log_debug_info(DEBUGL_EVENTS, 0, "** Scheduled Downtime Start Event. Latency: %.3fs\n", latency);
13061306

13071307
/* process scheduled downtime info */
13081308
if(event->event_data) {
1309-
handle_scheduled_downtime_by_id(*(unsigned long *)event->event_data);
1309+
handle_scheduled_downtime_start_by_id(*(unsigned long *)event->event_data);
1310+
free(event->event_data);
1311+
event->event_data = NULL;
1312+
}
1313+
break;
1314+
1315+
case EVENT_SCHEDULED_DOWNTIME_END:
1316+
1317+
log_debug_info(DEBUGL_EVENTS, 0, "** Scheduled Downtime End Event. Latency: %.3fs\n", latency);
1318+
1319+
/* process scheduled downtime info */
1320+
if(event->event_data) {
1321+
handle_scheduled_downtime_end_by_id(*(unsigned long *)event->event_data);
13101322
free(event->event_data);
13111323
event->event_data = NULL;
13121324
}

0 commit comments

Comments
 (0)