Age | Commit message (Collapse) | Author |
|
See #1206, #1213
|
|
This commit adds logic to retry our poll call when waiting for the
connection to complete, in the event that we are interrupted by a
signal.
Additionally we do some simple bookkeeping to keep track of the overall
timeout specified by the user.
Fixes #1206
|
|
|
|
|
|
|
|
Co-authored-by: Michael Grunder <michael.grunder@gmail.com>
|
|
|
|
This change addresses the issue discussed in #1202 and should make it
possible in the future to update minor versions without requiring
re-linking binaries.
|
|
|
|
* Add a test for the TCP_USER_TIMEOUT option.
* Explicitly set errno to ENOTSUP on unsupported OS's
|
|
|
|
Fixes cross-compilation QEMU CI tests
* CI: Update homebrew Redis version.
* CI: Try apt-get update as a workaround.
|
|
|
|
* Implement redisSetTcpUserTimeout to set socket option TCP_USER_TIMEOUT
* Documentation for redisSetTcpUserTimeout and some more undocumented functions
Documentation for redisReconnect() and the setters of socket options:
* redisKeepAlive()
* redisEnableKeepAliveWithInterval()
* redisSetTcpUserTimeout()
|
|
* Add RedisModule adapter
* add timer callback, add compatibility helper
|
|
|
|
Adds a test that we don't attempt to set any socket timeout if the
connection itself failed. This issue only seemed to occur on macOS but
it's nice to have a test for it.
|
|
|
|
|
|
For reference:
https://github.com/redis/redis-specifications/blob/master/protocol/RESP3.md
|
|
|
|
|
|
The installation path for openssl may vary depending on the way
used for its installation and the macOS version.
This commit attempts to find the correct path for openssl to use.
|
|
Fixes #1155
|
|
* cmake: build either static or shared libs
* cmake: allow to build non-PIC static libs
* fix typo
* cmake: add ALIAS targets
* cmake: link to OpenSSL imported targets
CMake imported targets are more robust
* turn ENABLE_EXAMPLES to a CMake option
* fix typo
* install pdb files if shared
* fix hiredis_ssl-config file
* Fix more targets
* CMake knows when to enable CMAKE_POSITION_INDEPENDENT_CODE
* Restore setting of /Z7
* [ci] fix building of shared and static libs
* Apply suggestions from code review
Co-authored-by: Bjorn Svensson <bjorn.a.svensson@est.tech>
* Make it possible to change name of exported target
---------
Co-authored-by: SpaceIm <30052553+SpaceIm@users.noreply.github.com>
Co-authored-by: Bjorn Svensson <bjorn.a.svensson@est.tech>
|
|
* Write a version file for the CMake package
> If no VERSION is given, the PROJECT_VERSION variable is used.
Since we set the project version to `${VERSION}`, we can safely skip
passing it to `write_basic_package_version_file` as well.
|
|
|
|
To allow building hiredis on toolchain without dynamic library support,
respect standard cmake BUILD_SHARED_LIBS:
https://cmake.org/cmake/help/latest/variable/BUILD_SHARED_LIBS.html
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
|
|
|
|
|
|
|
|
|
See #1138
|
|
* Build CMake generated makefiles
* Simplify and update checkout
* Update CI workflow 'C/C++ CI'
* Some corrections of spelling and naming.
* Remove running on branch dev since not officially available.
|
|
|
|
This makes our behavior consistent with redisFree and freeReplyObject.
|
|
|
|
- Update changelog.
- Bump version/soname defines.
|
|
- Upgrade to actions/checkout@v3 as node 12 is being phased out.
- Perform a manual dnf refresh on RockyLinux during setup.
- Switch to official cygwin/cygwin-install-action
|
|
|
|
- Used lowercase for Mstcpip.h as mingw will not find the file
otherwise
|
|
|
|
Improve coverage (#734)
* Remove duplicate tests
- double covered by:
"Can parse RESP3 doubles"
- bool covered via:
"Can parse RESP3 bool"
* Make (connect) timeout in test config general
* Set error string in Unix connect with invalid timeout
Restructure testcase since redisConnectWithTimeout() and
redisConnectUnixWithTimeout() now behaves similar.
* Use quiet flag in lcov/genhtml instead of piping to /dev/null
* Fixup of redisCommandArgv test case
* Update test case to match what it covers
Use new test case info text since the previous one seemed copy&pasted.
The sought coverage was the handling of the parent-chaining
for a double object, which the test case now focuses on.
Co-authored-by: Ariel <ashtul@gmail.com>
|
|
* Replace use of newer CMake builtins than in v3.0.0
Visual Studio generator will replace -D with /D.
* Only use /Z7 flag on a Visual Studio compilator
Flag is not available on a GNU compilator running on windows,
like in a mingw64 setup.
|
|
Redis updated how invalidation push messages are sent to the client
after a FLUSHDB or FLUSHALL command.
See: redis/redis#8935
|
|
* Remove attempt to install .pdb file for windows static lib
From ff57c18b (#1054) the debug information was embedded in the
windows static lib rather than creating a .pdb file.
Removing the installation step of this file in CMake when building
with buildtype Debug or RelWithDebInfo.
* Embed debug information in windows hiredis_ssl_static lib
See ff57c18b (#1054) for same change in library hiredis_static.
|
|
Add timeout support to libhv adapter.
See: #904
|
|
* Update include example in README
* Update pkg-config installed via CMake
Gives the include directory to enable the use of:
#include <hiredis/hiredis.h>
but keeps the existing include dir. for backwards compatibility.
Example:
> pkg-config hiredis --cflags
-D_FILE_OFFSET_BITS=64 -I/usr/local/include/hiredis -I/usr/local/include
* Update pkg-config installed via Make
Gives the include directory to enable the use of:
#include <hiredis/hiredis.h>
but keeps the existing include path for backwards compatibility.
Example:
> pkg-config hiredis --cflags
-D_FILE_OFFSET_BITS=64 -I/usr/local/include/hiredis -I/usr/local/include
|
|
Since clang supports __attribute__ we can avoid disabling
it and use packed sdshdr structs. This also make sure we dont
affect subsequent header files that require __attribute__.
Note:
Clang attempts to be compatible with MSVC and defines _MSC_VER
|
|
|