- 08 Apr, 2014 2 commits
-
-
Matt Stancliff authored
All the assignments to cb are inside conditionals, so it's vaguely possible it never gets initialized before we try to read from it with (cb.fn == NULL). Condition discovered with scan-build. Closes #229
-
Matt Stancliff authored
With all the async connects and disconnects and error handling going on in hiredis, we need to centralize how we close our fd and set it so it doesn't get re-closed. Prior to this commit, sometimes we'd close(fd), run an async error handler, then call close(fd) again. To stop multiple closes, we now set fd to -1 after we free it, but that requires not passing fd as an independent argument to functions. This commit moves all fd usage to c->fd. Since the context has a fd field and all functions receive the context, it makes more sense to use the fd inside of c instead of passing along fd as an independent argument. Also, by only using c->fd, we can set c->fd after we close it to signify we shouldn't re-close the same fd again. This does change one semi-public interface function redisCheckSocketError() to only take (context) instead of (context, fd). A search on github returned zero occasions of people using redisCheckSocketError() outside of net.{c,h} in hiredis itself. Commit inspired by the bug report at: https://groups.google.com/forum/#!topic/redis-db/mQm46XkIPOY Thanks go out to Thijs for trying high-frequency reconnects on a host that isn't there. Closes #230
-
- 15 Jan, 2014 1 commit
-
-
Charlie Somerville authored
-
- 11 Jul, 2013 1 commit
-
-
Pieter Noordhuis authored
-
- 22 Jan, 2013 2 commits
-
-
Henri Doreau authored
-
Henri Doreau authored
Updated documentation and examples accordingly.
-
- 12 Nov, 2012 1 commit
-
-
Nathan McSween authored
-
- 01 Aug, 2012 1 commit
-
-
Pieter Noordhuis authored
-
- 11 Jul, 2012 1 commit
-
-
Alex Leverington authored
async: support for determining monitor mode, if so, repush replies callback in expectation of another reply.
-
- 11 Jul, 2011 1 commit
-
-
R. Tyler Croy authored
-
- 27 Jun, 2011 2 commits
-
-
Pieter Noordhuis authored
This commit adds a status argument to the connect callback. It will be called in the event of an unsuccessful connection as well, where the status argument is set to REDIS_ERR. It is set to REDIS_OK otherwise.
-
Pieter Noordhuis authored
-
- 18 Jun, 2011 1 commit
-
-
Pieter Noordhuis authored
-
- 29 May, 2011 1 commit
-
-
Pieter Noordhuis authored
-
- 24 May, 2011 2 commits
-
-
Blake Matheny authored
-
Blake Matheny authored
-
- 21 Apr, 2011 3 commits
-
-
Pieter Noordhuis authored
-
Pieter Noordhuis authored
-
Pieter Noordhuis authored
-
- 14 Jan, 2011 1 commit
-
-
Pieter Noordhuis authored
-
- 10 Jan, 2011 1 commit
-
-
Pierre Riteau authored
-
- 31 Dec, 2010 7 commits
-
-
Pieter Noordhuis authored
-
Pieter Noordhuis authored
-
Pieter Noordhuis authored
-
Pieter Noordhuis authored
-
Pieter Noordhuis authored
-
Pieter Noordhuis authored
-
Pieter Noordhuis authored
-
- 29 Dec, 2010 1 commit
-
-
Pieter Noordhuis authored
-
- 28 Dec, 2010 5 commits
-
-
Pieter Noordhuis authored
-
Pieter Noordhuis authored
To make sure that these functions can also be called from functions other than command callbacks, the flag IN_CALLBACK is introduced that holds whether the context is currently executing a callback. If so, redisAsyncFree() and redisAsyncDisconnect() should delegate their task to the reply processor to avoid segfaults.
-
Pieter Noordhuis authored
-
Pieter Noordhuis authored
-
Pieter Noordhuis authored
-
- 16 Dec, 2010 1 commit
-
-
Pieter Noordhuis authored
-
- 07 Dec, 2010 1 commit
-
-
Pieter Noordhuis authored
-
- 01 Dec, 2010 1 commit
-
-
Pieter Noordhuis authored
This makes sure that the "data" field on the asynchronous context can be used for user-specific data.
-
- 15 Nov, 2010 1 commit
-
-
Pieter Noordhuis authored
-
- 03 Nov, 2010 1 commit
-
-
Pieter Noordhuis authored
-
- 02 Nov, 2010 1 commit
-
-
Pieter Noordhuis authored
When there is an I/O error, errno should be used to find out what is wrong. In other cases, errno cannot be used. So, use an explicit type in Hiredis to define the different error scenarios that can occur.
-