From: Rusty Russell Date: Tue, 24 Nov 2009 00:39:46 +0000 (+1030) Subject: eventscript: put timeout inside ctdb_event_script_callback_v X-Git-Tag: ctdb-1.0.108~18^2~10^2~5 X-Git-Url: http://git.samba.org/?a=commitdiff_plain;h=fe8027309c1f7b987cd368fa98f9b28741baa786;p=sahlberg%2Fctdb.git eventscript: put timeout inside ctdb_event_script_callback_v Everyone uses the same timeout value, so just remove it from the API. If we ever need variable timeouts, that might as well be central too. Signed-off-by: Rusty Russell --- diff --git a/include/ctdb_private.h b/include/ctdb_private.h index bee921d3..0ba8e351 100644 --- a/include/ctdb_private.h +++ b/include/ctdb_private.h @@ -1328,11 +1328,10 @@ int32_t ctdb_control_set_tcp_tickle_list(struct ctdb_context *ctdb, TDB_DATA ind void ctdb_takeover_client_destructor_hook(struct ctdb_client *client); int ctdb_event_script(struct ctdb_context *ctdb, const char *fmt, ...) PRINTF_ATTRIBUTE(2,3); int ctdb_event_script_callback(struct ctdb_context *ctdb, - struct timeval timeout, TALLOC_CTX *mem_ctx, void (*callback)(struct ctdb_context *, int, void *), void *private_data, - const char *fmt, ...) PRINTF_ATTRIBUTE(6,7); + const char *fmt, ...) PRINTF_ATTRIBUTE(5,6); void ctdb_release_all_ips(struct ctdb_context *ctdb); void set_nonblocking(int fd); diff --git a/server/ctdb_monitor.c b/server/ctdb_monitor.c index efba8f9e..2c97f45a 100644 --- a/server/ctdb_monitor.c +++ b/server/ctdb_monitor.c @@ -223,7 +223,6 @@ static void ctdb_check_health(struct event_context *ev, struct timed_event *te, if (!ctdb->done_startup) { ret = ctdb_event_script_callback(ctdb, - timeval_set(ctdb->tunable.script_timeout, 0), ctdb->monitor->monitor_context, ctdb_startup_callback, ctdb, "startup"); } else { @@ -248,7 +247,6 @@ static void ctdb_check_health(struct event_context *ev, struct timed_event *te, return; } else { ret = ctdb_event_script_callback(ctdb, - timeval_set(ctdb->tunable.script_timeout, 0), ctdb->monitor->monitor_context, ctdb_health_callback, ctdb, "monitor"); } diff --git a/server/ctdb_recover.c b/server/ctdb_recover.c index ccac8e62..1cd4835c 100644 --- a/server/ctdb_recover.c +++ b/server/ctdb_recover.c @@ -962,9 +962,7 @@ int32_t ctdb_control_end_recovery(struct ctdb_context *ctdb, ctdb_disable_monitoring(ctdb); - ret = ctdb_event_script_callback(ctdb, - timeval_set(ctdb->tunable.script_timeout, 0), - state, + ret = ctdb_event_script_callback(ctdb, state, ctdb_end_recovery_callback, state, "recovered"); @@ -1016,9 +1014,7 @@ int32_t ctdb_control_start_recovery(struct ctdb_context *ctdb, ctdb_disable_monitoring(ctdb); - ret = ctdb_event_script_callback(ctdb, - timeval_set(ctdb->tunable.script_timeout, 0), - state, + ret = ctdb_event_script_callback(ctdb, state, ctdb_start_recovery_callback, state, "startrecovery"); @@ -1230,9 +1226,7 @@ int32_t ctdb_control_stop_node(struct ctdb_context *ctdb, struct ctdb_req_contro ctdb_disable_monitoring(ctdb); - ret = ctdb_event_script_callback(ctdb, - timeval_set(ctdb->tunable.script_timeout, 0), - state, + ret = ctdb_event_script_callback(ctdb, state, ctdb_stop_node_callback, state, "stopped"); diff --git a/server/ctdb_takeover.c b/server/ctdb_takeover.c index a140578a..d53f2d47 100644 --- a/server/ctdb_takeover.c +++ b/server/ctdb_takeover.c @@ -235,7 +235,6 @@ int32_t ctdb_control_takeover_ip(struct ctdb_context *ctdb, vnn->iface)); ret = ctdb_event_script_callback(ctdb, - timeval_set(ctdb->tunable.script_timeout, 0), state, takeover_ip_callback, state, "takeip %s %s %u", vnn->iface, @@ -391,7 +390,6 @@ int32_t ctdb_control_release_ip(struct ctdb_context *ctdb, state->vnn = vnn; ret = ctdb_event_script_callback(ctdb, - timeval_set(ctdb->tunable.script_timeout, 0), state, release_ip_callback, state, "releaseip %s %s %u", vnn->iface, @@ -2094,7 +2092,6 @@ int32_t ctdb_control_del_public_address(struct ctdb_context *ctdb, TDB_DATA inda DLIST_REMOVE(ctdb->vnn, vnn); ret = ctdb_event_script_callback(ctdb, - timeval_set(ctdb->tunable.script_timeout, 0), mem_ctx, delete_ip_callback, mem_ctx, "releaseip %s %s %u", vnn->iface, diff --git a/server/eventscript.c b/server/eventscript.c index f32ffc02..c89d402c 100644 --- a/server/eventscript.c +++ b/server/eventscript.c @@ -735,7 +735,6 @@ static int event_script_destructor(struct ctdb_event_script_state *state) finished */ static int ctdb_event_script_callback_v(struct ctdb_context *ctdb, - struct timeval timeout, void (*callback)(struct ctdb_context *, int, void *), void *private_data, const char *fmt, va_list ap) @@ -784,7 +783,7 @@ static int ctdb_event_script_callback_v(struct ctdb_context *ctdb, state->callback = callback; state->private_data = private_data; state->options = talloc_vasprintf(state, fmt, ap); - state->timeout = timeout; + state->timeout = timeval_set(ctdb->tunable.script_timeout, 0); if (state->options == NULL) { DEBUG(DEBUG_ERR, (__location__ " could not allocate state->options\n")); talloc_free(state); @@ -846,7 +845,6 @@ static int ctdb_event_script_callback_v(struct ctdb_context *ctdb, finished */ int ctdb_event_script_callback(struct ctdb_context *ctdb, - struct timeval timeout, TALLOC_CTX *mem_ctx, void (*callback)(struct ctdb_context *, int, void *), void *private_data, @@ -856,7 +854,7 @@ int ctdb_event_script_callback(struct ctdb_context *ctdb, int ret; va_start(ap, fmt); - ret = ctdb_event_script_callback_v(ctdb, timeout, callback, private_data, fmt, ap); + ret = ctdb_event_script_callback_v(ctdb, callback, private_data, fmt, ap); va_end(ap); return ret; @@ -890,7 +888,6 @@ int ctdb_event_script(struct ctdb_context *ctdb, const char *fmt, ...) va_start(ap, fmt); ret = ctdb_event_script_callback_v(ctdb, - timeval_set(ctdb->tunable.script_timeout, 0), event_script_callback, &status, fmt, ap); va_end(ap); @@ -957,8 +954,7 @@ int32_t ctdb_run_eventscripts(struct ctdb_context *ctdb, ctdb_disable_monitoring(ctdb); - ret = ctdb_event_script_callback(ctdb, - timeval_set(ctdb->tunable.script_timeout, 0), + ret = ctdb_event_script_callback(ctdb, state, run_eventscripts_callback, state, "%s", (const char *)indata.dptr);