Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
ruanhaishen
hiredis
Commits
869f3d0e
Unverified
Commit
869f3d0e
authored
Aug 18, 2023
by
Michael Grunder
Committed by
GitHub
Aug 18, 2023
Browse files
Make redisEnableKeepAlive a no-op on AF_UNIX connections. (#1215)
Fixes #1185
parent
039385bd
Changes
3
Hide whitespace changes
Inline
Side-by-side
.gitignore
View file @
869f3d0e
...
...
@@ -7,3 +7,4 @@
/*.pc
*.dSYM
tags
compile_commands.json
net.c
View file @
869f3d0e
...
...
@@ -173,6 +173,10 @@ int redisKeepAlive(redisContext *c, int interval) {
int
val
=
1
;
redisFD
fd
=
c
->
fd
;
/* TCP_KEEPALIVE makes no sense with AF_UNIX connections */
if
(
c
->
connection_type
==
REDIS_CONN_UNIX
)
return
REDIS_ERR
;
#ifndef _WIN32
if
(
setsockopt
(
fd
,
SOL_SOCKET
,
SO_KEEPALIVE
,
&
val
,
sizeof
(
val
))
==
-
1
){
__redisSetError
(
c
,
REDIS_ERR_OTHER
,
strerror
(
errno
));
...
...
test.c
View file @
869f3d0e
...
...
@@ -431,6 +431,24 @@ static void test_tcp_options(struct config cfg) {
redisFree
(
c
);
}
static
void
test_unix_keepalive
(
struct
config
cfg
)
{
redisContext
*
c
;
redisReply
*
r
;
c
=
do_connect
(
cfg
);
test
(
"Setting TCP_KEEPALIVE on a unix socket returns an error: "
);
test_cond
(
redisEnableKeepAlive
(
c
)
==
REDIS_ERR
&&
c
->
err
==
0
);
test
(
"Setting TCP_KEEPALIVE on a unix socket doesn't break the connection: "
);
r
=
redisCommand
(
c
,
"PING"
);
test_cond
(
r
!=
NULL
&&
r
->
type
==
REDIS_REPLY_STATUS
&&
r
->
len
==
4
&&
!
memcmp
(
r
->
str
,
"PONG"
,
4
));
freeReplyObject
(
r
);
redisFree
(
c
);
}
static
void
test_reply_reader
(
void
)
{
redisReader
*
reader
;
void
*
reply
,
*
root
;
...
...
@@ -2363,6 +2381,7 @@ int main(int argc, char **argv) {
test_blocking_connection_timeouts
(
cfg
);
test_blocking_io_errors
(
cfg
);
test_invalid_timeout_errors
(
cfg
);
test_unix_keepalive
(
cfg
);
if
(
throughput
)
test_throughput
(
cfg
);
}
else
{
test_skipped
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment