diff --git a/src/server.c b/src/server.c index 6bc8bc66f..e56b542a5 100644 --- a/src/server.c +++ b/src/server.c @@ -1549,16 +1549,29 @@ int restartServer(int flags, mstime_t delay) { /* Check if we still have accesses to the executable that started this * server instance. */ - if (access(server.executable,X_OK) == -1) return C_ERR; + if (access(server.executable,X_OK) == -1) { + serverLog(LL_WARNING,"Can't restart: this process has no " + "permissions to execute %s", server.executable); + return C_ERR; + } /* Config rewriting. */ if (flags & RESTART_SERVER_CONFIG_REWRITE && server.configfile && - rewriteConfig(server.configfile) == -1) return C_ERR; + rewriteConfig(server.configfile) == -1) + { + serverLog(LL_WARNING,"Can't restart: configuration rewrite process " + "failed"); + return C_ERR; + } /* Perform a proper shutdown. */ if (flags & RESTART_SERVER_GRACEFULLY && - prepareForShutdown(SHUTDOWN_NOFLAGS) != C_OK) return C_ERR; + prepareForShutdown(SHUTDOWN_NOFLAGS) != C_OK) + { + serverLog(LL_WARNING,"Can't restart: error preparing for shutdown"); + return C_ERR; + } /* Close all file descriptors, with the exception of stdin, stdout, strerr * which are useful if we restart a Redis server which is not daemonized. */