mirror of
https://github.com/fluencelabs/redis
synced 2025-03-17 16:10:50 +00:00
DEBUG RESTART/CRASH-AND-RECOVER [delay] implemented.
This commit is contained in:
parent
73427462ed
commit
35a0c772b5
14
src/debug.c
14
src/debug.c
@ -259,6 +259,20 @@ void inputCatSds(void *result, const char *str) {
|
||||
void debugCommand(client *c) {
|
||||
if (!strcasecmp(c->argv[1]->ptr,"segfault")) {
|
||||
*((char*)-1) = 'x';
|
||||
} else if (!strcasecmp(c->argv[1]->ptr,"restart") ||
|
||||
!strcasecmp(c->argv[1]->ptr,"crash-and-recover"))
|
||||
{
|
||||
long long delay = 0;
|
||||
if (c->argc >= 3) {
|
||||
if (getLongLongFromObjectOrReply(c, c->argv[2], &delay, NULL)
|
||||
!= C_OK) return;
|
||||
if (delay < 0) delay = 0;
|
||||
}
|
||||
int flags = !strcasecmp(c->argv[1]->ptr,"restart") ?
|
||||
(RESTART_SERVER_GRACEFULLY|RESTART_SERVER_CONFIG_REWRITE) :
|
||||
RESTART_SERVER_NONE;
|
||||
restartServer(flags,delay);
|
||||
addReplyError(c,"failed to restart the server. Check server logs.");
|
||||
} else if (!strcasecmp(c->argv[1]->ptr,"oom")) {
|
||||
void *ptr = zmalloc(ULONG_MAX); /* Should trigger an out of memory. */
|
||||
zfree(ptr);
|
||||
|
@ -1601,6 +1601,9 @@ extern char **environ;
|
||||
/* Restart the server, executing the same executable that started this
|
||||
* instance, with the same arguments and configuration file.
|
||||
*
|
||||
* The function is designed to directly call execve() so that the new
|
||||
* server instance will retain the PID of the previous one.
|
||||
*
|
||||
* The list of flags, that may be bitwise ORed together, alter the
|
||||
* behavior of this function:
|
||||
*
|
||||
|
Loading…
x
Reference in New Issue
Block a user