int start_as_disabled;
int start_as_stopped;
uint32_t event_script_timeouts; /* counting how many consecutive times an eventscript has timedout */
- TALLOC_CTX *eventscripts_ctx; /* a context to hold data for the RUN_EVENTSCRIPTS control */
uint32_t *recd_ping_count;
TALLOC_CTX *release_ips_ctx; /* a context used to automatically drop all IPs if we fail to recover the node */
TALLOC_CTX *script_monitor_ctx; /* a context where we store results while running the monitor event */
};
/*
- called when takeip event finishes
+ called when a forced eventscript run has finished
*/
static void run_eventscripts_callback(struct ctdb_context *ctdb, int status,
void *private_data)
int ret;
struct eventscript_callback_state *state;
- /* kill off any previous invokations of forced eventscripts */
- if (ctdb->eventscripts_ctx) {
- talloc_free(ctdb->eventscripts_ctx);
+ if (ctdb->event_script_ctx == NULL) {
+ ctdb->event_script_ctx = talloc_zero(ctdb, struct ctdb_monitor_status);
}
- ctdb->eventscripts_ctx = talloc_new(ctdb);
- CTDB_NO_MEMORY(ctdb, ctdb->eventscripts_ctx);
- state = talloc(ctdb->eventscripts_ctx, struct eventscript_callback_state);
+ state = talloc(ctdb->event_script_ctx, struct eventscript_callback_state);
CTDB_NO_MEMORY(ctdb, state);
state->c = talloc_steal(state, c);