diff options
Diffstat (limited to 'ctdb/server/eventscript.c')
-rw-r--r-- | ctdb/server/eventscript.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/ctdb/server/eventscript.c b/ctdb/server/eventscript.c index 183e076420..a4292778f1 100644 --- a/ctdb/server/eventscript.c +++ b/ctdb/server/eventscript.c @@ -588,9 +588,13 @@ static int ctdb_run_event_script(struct ctdb_context *ctdb, if (ret != -1) { ret = WEXITSTATUS(ret); } - if (ret == 127) { - ret = 0; - DEBUG(DEBUG_ERR,("Script %s returned status 127. Someone just deleted it?\n", cmdstr)); + if (ret == 127 || ret == 126) { + /* Re-check it... */ + if (!check_executable(ctdb->event_script_dir, + current->name)) { + ret = 0; + DEBUG(DEBUG_ERR,("Script %s returned status 127. Someone just deleted it?\n", cmdstr)); + } } if (!from_user && call == CTDB_EVENT_MONITOR) { |