There is no longer need for a separate redisDisconnect

This commit is contained in:
Pieter Noordhuis 2010-11-01 14:20:51 +01:00
parent 30a9f8f271
commit 5fa8d30599
3 changed files with 10 additions and 7 deletions

View File

@ -107,6 +107,15 @@ Note that this function will take care of freeing sub-replies objects
contained in arrays and nested arrays, so there is no need for the user to
free the sub replies (it is actually harmful and will corrupt the memory).
### Cleaning up
To disconnect and free the context the following function can be used:
void redisFree(redisContext *c);
This function immediately closes the socket and then free's the allocations done in
creating the context.
### Sending commands (cont'd)
Together with `redisCommand`, the function `redisCommandArgv` can be used to issue commands.

View File

@ -642,15 +642,10 @@ static redisContext *redisContextInit() {
return c;
}
void redisDisconnect(redisContext *c) {
close(c->fd);
c->flags &= ~REDIS_CONNECTED;
}
void redisFree(redisContext *c) {
/* Disconnect before free'ing if not yet disconnected. */
if (c->flags & REDIS_CONNECTED)
redisDisconnect(c);
close(c->fd);
if (c->error != NULL)
sdsfree(c->error);
if (c->obuf != NULL)

View File

@ -112,7 +112,6 @@ int redisFormatCommandArgv(char **target, int argc, const char **argv, const siz
redisContext *redisConnect(const char *ip, int port);
redisContext *redisConnectNonBlock(const char *ip, int port);
int redisSetReplyObjectFunctions(redisContext *c, redisReplyObjectFunctions *fn);
void redisDisconnect(redisContext *c);
void redisFree(redisContext *c);
int redisBufferRead(redisContext *c);
int redisBufferWrite(redisContext *c, int *done);