Age | Commit message (Collapse) | Author |
|
Defining _XOPEN_SOURCE=1 causes strange behavior on Debian kfreebsd
archs (i.e. GNU userspace with FreeBSD kernel) when _GNU_SOURCE is not
defined.
Not sure I fully understand the bizarre semantics, but it seems to
use the XSI-compliant interface
(int strerror_r(int, char*, size_t)) but the GNU implementation
(char *strerror_r(int, char*, size_t)) such that strerror_r returns
32-bits of a 64-bit char * on x86_64 kfreebsd. We would expect
strerror_r to return zero when using the XSI-compliant strerror_r
implementation or a 64-bit char* when using the GNU version. Instead,
we get something in between!
Unless I'm missing something, being more explicit about what version
of _XOPEN_SOURCE we want seems to be the prudent thing to do here --
and if folks want the GNU implementation of strerror_r for some reason
they can always -D_GNU_SOURCE explicitly.
|
|
fixing typos
|
|
|
|
fix snprintf format string
|
|
|
|
|
|
|
|
Easier to read, easier to sort.
|
|
connection"
This reverts commit 1db17f257b1999114c699e77e204f1a91143e5ad.
If the `REDIS_CONNECTED` flag is cleared,
the async onDisconnect callback function will never be called.
This causes problems as the disconnect is never reported back to the user.
Closes #359
|
|
|
|
|
|
|
|
|
|
Fixes #335.
|
|
|
|
Added MacOS X support via CoreFoundation run loop.
|
|
|
|
|
|
|
|
|
|
This adds a new adapter and an example for using hiredis with the ivykis
async I/O library.
Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
|
|
|
|
Use explicit casts for void* pointer in order to compile in C++
|
|
undefined reference to `clock_gettime'
|
|
|
|
fix link error while run "make hiredis-example-libuv":
undefined reference to `clock_gettime'
undefined reference to `clock_getres'
|
|
|
|
|
|
This reverts commit d8145d79ce715054980938c751067ebaa541573c.
|
|
encountering defined constant 'unix' in GNU C environment (see commit d8145d79ce715054980938c751067ebaa541573c).
Not all code using hiredis can compile using '-std=c99', and/or not all users are able to easily make that change to the build process of various open-source projects, so it is more pragmatic to choose a different identifier that does not impose this requirement.
|
|
Fix memory leak in async spontaneous reply handling
|
|
When an asynchronous hiredis connection subscribes to a Pub/Sub channel
and gets an error, and in other related conditions, the function
redisProcessCallbacks() enters a code path where the link is
disconnected, however the function returns before freeing the allocated
reply object. This causes a memory leak. The memory leak was trivial to
trigger in Redis Sentinel, which uses hiredis, every time we tried to
subscribe to an instance that required a password, in case the Sentinel
was configured either with the wrong password or without password at
all. In this case, the -AUTH error caused the leaking code path to be
executed.
|
|
Turns out: gnu9x defines `unix` to 1, making it unusable as a variable
name.
|
|
|
|
|
|
|
|
|
|
Originally implemented by @abedra as part of #306.
In case a write or read times out, we force an error state, because we
can't guarantuee that the next read will get the right data.
Instead we need to reconnect to have a clean-state connection, which is
now easily possible with this method.
|
|
|
|
Add PKGCONFNAME to install dependencies.
|
|
Attempting to use the install target before the make target works fine,
except for the missing pkgconfig file. Adding that file to the
dependencies for the install target to make sure it gets created first.
|
|
Added support for compiling the parser code with Microsoft Visual C compiler.
|
|
|
|
Fix hiredis.pc generation.
|
|
|
|
Update apt repos first
|
|
|
|
For hiredis-py and others support on windows.
|
|
Due to the various processors going over the command, we need more
escaping.
1) Make parses it, so $${libdir} becomes ${libdir}
2) 'shell' parses it for the 'echo command', whereas echo ${libdir}
would be an empty string; escape it as \${libdir} to ensure we get what
we want.
Closes #312
|
|
Closes #309
(such as when -DNDEBUG disables all assert() macros)
Inspired by keith-bennett-gbg, but re-rewritten to be more concise.
|