summaryrefslogtreecommitdiff
path: root/databases/valkey8/files/patch-deps-hiredis-net.c
diff options
context:
space:
mode:
authorMuhammad Moinur Rahman <bofh@FreeBSD.org>2025-10-27 11:20:43 +0100
committerMuhammad Moinur Rahman <bofh@FreeBSD.org>2025-10-27 14:43:28 +0100
commit30dd85cf8e240a47c78c8bb04434b2c1a2555dcb (patch)
tree84ed13b46a4a4fe4da3f0a14ad50f2ecc5399ad4 /databases/valkey8/files/patch-deps-hiredis-net.c
parentdatabases/py-mysql-connector-python: Update version 9.4.0=>9.5.0 (diff)
databases/valkey8: New port
Valkey is a high-performance data structure server that primarily serves key/value workloads. It supports a wide range of native structures and an extensible plugin system for adding new data structures and access patterns. WWW: https://valkey.io/ Note that this is the 8.X.X version of valkey which has been added to upgrade the valkey port to 9.X.X
Diffstat (limited to 'databases/valkey8/files/patch-deps-hiredis-net.c')
-rw-r--r--databases/valkey8/files/patch-deps-hiredis-net.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/databases/valkey8/files/patch-deps-hiredis-net.c b/databases/valkey8/files/patch-deps-hiredis-net.c
new file mode 100644
index 000000000000..434ebf0e81a4
--- /dev/null
+++ b/databases/valkey8/files/patch-deps-hiredis-net.c
@@ -0,0 +1,39 @@
+--- deps/hiredis/net.c.orig 2024-04-01 02:56:24 UTC
++++ deps/hiredis/net.c
+@@ -185,14 +185,34 @@ int redisKeepAlive(redisContext *c, int interval) {
+ __redisSetError(c,REDIS_ERR_OTHER,strerror(errno));
+ return REDIS_ERR;
+ }
+-#else
+-#if defined(__GLIBC__) && !defined(__FreeBSD_kernel__)
++#elif defined(__GLIBC__)
+ if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPIDLE, &val, sizeof(val)) < 0) {
+ __redisSetError(c,REDIS_ERR_OTHER,strerror(errno));
+ return REDIS_ERR;
+ }
+
+ val = interval/3;
++ if (val == 0) val = 1;
++ if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPINTVL, &val, sizeof(val)) < 0) {
++ __redisSetError(c,REDIS_ERR_OTHER,strerror(errno));
++ return REDIS_ERR;
++ }
++
++ val = 3;
++ if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPCNT, &val, sizeof(val)) < 0) {
++ __redisSetError(c,REDIS_ERR_OTHER,strerror(errno));
++ return REDIS_ERR;
++ }
++#else
++#if !defined(__sun) && defined(TCP_KEEPIDLE) && defined(TCP_KEEPINTL) && \
++ defined(TCP_KEEPCNT)
++ val = interval;
++ if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPIDLE, &val, sizeof(val)) < 0) {
++ __redisSetError(c,REDIS_ERR_OTHER,strerror(errno));
++ return REDIS_ERR;
++ }
++
++ val = internal/3;
+ if (val == 0) val = 1;
+ if (setsockopt(fd, IPPROTO_TCP, TCP_KEEPINTVL, &val, sizeof(val)) < 0) {
+ __redisSetError(c,REDIS_ERR_OTHER,strerror(errno));