Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
redis
Commits
87312ff7
Commit
87312ff7
authored
Jun 05, 2016
by
Yossi Gottlieb
Browse files
Fix MODULE UNLOAD crash and/or wrong error message.
parent
550fa7e1
Changes
1
Show whitespace changes
Inline
Side-by-side
src/module.c
View file @
87312ff7
...
...
@@ -2956,13 +2956,13 @@ int moduleLoad(const char *path) {
int moduleUnload(sds name) {
struct RedisModule *module = dictFetchValue(modules,name);
if (
listLength(module->types)
) {
errno = E
BUSY
;
if (
module == NULL
) {
errno = E
NOENT
;
return REDISMODULE_ERR;
}
if (
module == NULL
) {
errno = E
NOENT
;
if (
listLength(module->types)
) {
errno = E
BUSY
;
return REDISMODULE_ERR;
}
...
...
@@ -3020,10 +3020,17 @@ void moduleCommand(client *c) {
if (moduleUnload(c->argv[2]->ptr) == C_OK)
addReply(c,shared.ok);
else {
char *errmsg
= "operation not possible."
;
char *errmsg;
switch(errno) {
case ENOENT: errmsg = "no such module with that name";
case EBUSY: errmsg = "the module exports one or more module-side data types, can't unload";
case ENOENT:
errmsg = "no such module with that name";
break;
case EBUSY:
errmsg = "the module exports one or more module-side data types, can't unload";
break;
default:
errmsg = "operation not possible.";
break;
}
addReplyErrorFormat(c,"Error unloading module: %s",errmsg);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment