redis/src
Gann 0777dc7896
Improve error handling in connSocketBlockingConnect for various connction failures (#13008)
This commit addresses a problem in connSocketBlockingConnect where
different types of connection failures, including timeouts and other
errors, were not consistently handled. Previously, the function did not
return C_ERR immediately after detecting a connection failure, which
could lead to inconsistent states and misinterpretation of the
connection status.

With this update, connSocketBlockingConnect now correctly returns C_ERR
upon encountering any connection error, ensuring that all types of
connection failures are handled consistently and the behavior of the
function aligns with expected outcomes in case of connection issues.

Closes #12900
2024-02-06 14:31:08 +02:00
..
commands Add missing structural API changes to JSON file (#12434) 2024-02-04 08:42:15 +02:00
modules use $^ instead of $< for linker in module makefile (#10530) 2022-04-05 17:08:27 +03:00
.gitignore
Makefile Refactor the per-slot dict-array db.c into a new kvstore data structure (#12822) 2024-02-05 17:21:35 +02:00
acl.c Refactor the per-slot dict-array db.c into a new kvstore data structure (#12822) 2024-02-05 17:21:35 +02:00
adlist.c Don't disconnect all clients in ACL LOAD (#12171) 2023-12-24 11:56:44 +02:00
adlist.h optimize unwatchAllKeys() (#11511) 2022-11-23 17:39:08 +02:00
ae.c fix comment of aeProcessEvents (#12884) 2023-12-25 18:58:14 -08:00
ae.h Add event loop support to the module API (#10001) 2022-01-18 13:10:07 +02:00
ae_epoll.c Fail fast when systemic error occurs in poll (#8749) 2021-04-26 15:52:06 +03:00
ae_evport.c Fix cluster bus extensions backwards compatibility (#10206) 2022-01-30 19:43:37 +02:00
ae_kqueue.c Fix the timing of read and write events under kqueue (#9416) 2021-09-02 11:07:51 +03:00
ae_select.c fix unused argument warning in ae_select.c (#10824) 2022-06-07 14:47:09 +03:00
anet.c Re-indent code and reduce code being complied on Solaris for anetKeepAlive (#12914) 2024-01-08 11:12:24 +02:00
anet.h redis-cli adds -4 / -6 options to determine IPV4 / IPV6 priority in DNS lookup (#11315) 2023-12-24 10:40:34 +02:00
aof.c Refactor the per-slot dict-array db.c into a new kvstore data structure (#12822) 2024-02-05 17:21:35 +02:00
asciilogo.h Changes http to https in texts (#8495) 2021-03-10 19:11:16 +02:00
atomicvar.h Print stack trace from all threads in crash report (#12453) 2023-09-24 09:47:23 +03:00
bio.c Print strerror when bio initialization fails (#12333) 2023-06-21 17:57:11 +03:00
bio.h Implementing the WAITAOF command (issue #10505) (#11713) 2023-03-14 20:26:21 +02:00
bitops.c BITCOUNT and BITPOS with non-existing key and illegal arguments should return error, not 0 (#11734) 2023-08-21 19:48:30 +03:00
blocked.c Fix module assertion crash when timer and timeout are unlocked in the same event loop (#13015) 2024-01-31 13:10:19 +02:00
call_reply.c Support for RM_Call on blocking commands (#11568) 2023-03-16 14:04:31 +02:00
call_reply.h Support for RM_Call on blocking commands (#11568) 2023-03-16 14:04:31 +02:00
childinfo.c fixes for fork child exit and test: #11463 (#11499) 2022-11-12 20:35:34 +02:00
cli_commands.c Reimplement cli hints based on command arg docs (#10515) 2023-03-30 19:03:56 +03:00
cli_commands.h Reimplement cli hints based on command arg docs (#10515) 2023-03-30 19:03:56 +03:00
cli_common.c Adds connection timeout option to redis-cli (#10609) 2024-01-30 13:43:39 +02:00
cli_common.h Adds connection timeout option to redis-cli (#10609) 2024-01-30 13:43:39 +02:00
cluster.c Refactor the per-slot dict-array db.c into a new kvstore data structure (#12822) 2024-02-05 17:21:35 +02:00
cluster.h Use shard-id of the master if the replica does not support shard-id (#12805) 2024-01-06 20:24:41 -08:00
cluster_legacy.c Refactor the per-slot dict-array db.c into a new kvstore data structure (#12822) 2024-02-05 17:21:35 +02:00
cluster_legacy.h Replace slots_to_channels radix tree with slot specific dictionaries for shard channels. (#12804) 2023-12-27 17:40:45 +08:00
commands.c Reimplement cli hints based on command arg docs (#10515) 2023-03-30 19:03:56 +03:00
commands.def Add missing structural API changes to JSON file (#12434) 2024-02-04 08:42:15 +02:00
commands.h Replaced comment with excessive warning. 2023-07-16 17:04:15 -05:00
config.c Re-compute active_defrag_running after adjusting defrag configurations (#13020) 2024-02-06 13:39:07 +02:00
config.h Fix compile on macOS 13 (#12611) 2023-10-08 11:12:50 +03:00
connection.c Remove prototypes with empty declarations (#12020) 2023-05-02 17:31:32 -07:00
connection.h Manage number of new connections per cycle (#12178) 2024-01-02 15:15:03 -08:00
connhelpers.h Fixed some typos, add a spell check ci and others minor fix (#8890) 2021-06-10 15:39:33 +03:00
crc16.c
crc16_slottable.h Added basic support for clusters to redis-benchmark. 2019-03-01 17:53:14 +01:00
crc64.c Add --large-memory flag for REDIS_TEST to enable tests that consume more than 100mb (#9784) 2021-11-16 08:55:10 +02:00
crc64.h Add --large-memory flag for REDIS_TEST to enable tests that consume more than 100mb (#9784) 2021-11-16 08:55:10 +02:00
crcspeed.c Fixed some typos, add a spell check ci and others minor fix (#8890) 2021-06-10 15:39:33 +03:00
crcspeed.h Added crcspeed library 2020-04-24 17:11:21 -07:00
db.c Refactor the per-slot dict-array db.c into a new kvstore data structure (#12822) 2024-02-05 17:21:35 +02:00
debug.c Refactor the per-slot dict-array db.c into a new kvstore data structure (#12822) 2024-02-05 17:21:35 +02:00
debugmacro.h Supplement define guards to prevent multiple inclusion (#10246) 2022-02-06 20:13:34 -08:00
defrag.c Re-compute active_defrag_running after adjusting defrag configurations (#13020) 2024-02-06 13:39:07 +02:00
dict.c Refactor the per-slot dict-array db.c into a new kvstore data structure (#12822) 2024-02-05 17:21:35 +02:00
dict.h Refactor the per-slot dict-array db.c into a new kvstore data structure (#12822) 2024-02-05 17:21:35 +02:00
endianconv.c Avoid using unsafe C functions (#10932) 2022-07-18 10:56:26 +03:00
endianconv.h Add --large-memory flag for REDIS_TEST to enable tests that consume more than 100mb (#9784) 2021-11-16 08:55:10 +02:00
eval.c Check whether the client is NULL in luaCreateFunction (#12829) 2023-12-04 20:12:48 +02:00
evict.c Refactor the per-slot dict-array db.c into a new kvstore data structure (#12822) 2024-02-05 17:21:35 +02:00
expire.c Refactor the per-slot dict-array db.c into a new kvstore data structure (#12822) 2024-02-05 17:21:35 +02:00
fmacros.h Fix some compile warnings and errors when building with gcc-12 or clang (#12035) 2023-04-18 09:53:51 +03:00
fmtargs.h Rewrite huge printf calls to smaller ones for readability (#12257) 2023-09-28 09:21:23 +03:00
function_lua.c Ensure that the function load timeout is disabled during loading from RDB/AOF and on replicas. (#12451) 2023-08-02 11:43:31 +03:00
functions.c Some cleanups around function (#12940) 2024-01-23 14:26:33 +02:00
functions.h Some cleanups around function (#12940) 2024-01-23 14:26:33 +02:00
geo.c Change addReplyErrorFormat to addReplyError when there is no format (#12641) 2023-11-30 12:36:17 +02:00
geo.h
geohash.c Fix mistake / outdated doc comment (#10521) 2022-04-04 15:35:49 +03:00
geohash.h Remove duplicate header file include (#10264) 2022-02-08 16:49:47 +02:00
geohash_helper.c GEOSEARCH BYBOX: Simplified haversine distance formula when longitude diff is 0 (#11579) 2022-12-05 15:45:04 +02:00
geohash_helper.h Delete some unimplemented prototype. (#8882) 2021-04-29 08:25:10 +03:00
hyperloglog.c Call signalModifiedKey after the key modification is completed (#11144) 2023-11-27 11:16:41 +08:00
intset.c Listpack encoding for sets (#11290) 2022-11-09 19:50:07 +02:00
intset.h Listpack encoding for sets (#11290) 2022-11-09 19:50:07 +02:00
kvstore.c Fix kvstore unable to push resize_cursor for resize when dict is NULL (#13031) 2024-02-06 09:41:14 +02:00
kvstore.h Refactor the per-slot dict-array db.c into a new kvstore data structure (#12822) 2024-02-05 17:21:35 +02:00
latency.c Exit early if slowlog/acllog max len set to zero (#12965) 2024-01-22 16:01:04 -08:00
latency.h Add basic eventloop latency measurement. (#11963) 2023-05-12 20:13:15 +03:00
lazyfree.c Refactor the per-slot dict-array db.c into a new kvstore data structure (#12822) 2024-02-05 17:21:35 +02:00
listpack.c Remove prototypes with empty declarations (#12020) 2023-05-02 17:31:32 -07:00
listpack.h When converting a set to dict, presize for one more element to be added (#11559) 2022-12-06 11:25:51 +02:00
listpack_malloc.h Use dummy allocator to make accesses defined as per standard (#11982) 2023-04-10 20:38:40 +03:00
localtime.c fix typos (#10402) 2022-03-09 13:58:23 +02:00
logreqres.c Minor change around the req-res validator, skip sentinel commands (#12083) 2023-04-20 23:28:44 +03:00
lolwut.c Fixed some typos, add a spell check ci and others minor fix (#8890) 2021-06-10 15:39:33 +03:00
lolwut.h add include guard for lolwut.h 2020-05-05 23:35:08 -04:00
lolwut5.c Fixed some typos, add a spell check ci and others minor fix (#8890) 2021-06-10 15:39:33 +03:00
lolwut6.c Fixed some typos, add a spell check ci and others minor fix (#8890) 2021-06-10 15:39:33 +03:00
lzf.h Change lzf to handle values larger than UINT32_MAX (#9776) 2021-11-16 13:12:25 +02:00
lzfP.h Change lzf to handle values larger than UINT32_MAX (#9776) 2021-11-16 13:12:25 +02:00
lzf_c.c Change lzf to handle values larger than UINT32_MAX (#9776) 2021-11-16 13:12:25 +02:00
lzf_d.c Change lzf to handle values larger than UINT32_MAX (#9776) 2021-11-16 13:12:25 +02:00
memtest.c Better standardize around assertions (#12539) 2023-10-02 18:58:44 -07:00
mkreleasehdr.sh fix the wrong path in mkreleasehdr.sh (#12993) 2024-01-26 15:01:54 -08:00
module.c Refactor the per-slot dict-array db.c into a new kvstore data structure (#12822) 2024-02-05 17:21:35 +02:00
monotonic.c Better standardize around assertions (#12539) 2023-10-02 18:58:44 -07:00
monotonic.h Remove prototypes with empty declarations (#12020) 2023-05-02 17:31:32 -07:00
mt19937-64.c Fix random element selection for large hash tables. (#8133) 2020-12-23 15:52:07 +02:00
mt19937-64.h Fix random element selection for large hash tables. (#8133) 2020-12-23 15:52:07 +02:00
multi.c Refactor the per-slot dict-array db.c into a new kvstore data structure (#12822) 2024-02-05 17:21:35 +02:00
networking.c Implement `CLIENT KILL MAXAGE <maxage>` (#12299) 2024-01-30 20:24:36 +02:00
notify.c Add RM_PublishMessageShard (#10543) 2022-04-17 15:43:22 +03:00
object.c Refactor the per-slot dict-array db.c into a new kvstore data structure (#12822) 2024-02-05 17:21:35 +02:00
pqsort.c Fix null pointer subtraction warning (#10498) 2022-04-04 18:38:18 +03:00
pqsort.h
pubsub.c Fix invalid dictNext usage when pubsubshard_channels became empty (#13033) 2024-02-06 13:41:02 +02:00
quicklist.c Add listpack encoding for list (#11303) 2022-11-16 20:29:46 +02:00
quicklist.h fix missing comments (#12878) 2023-12-25 19:30:05 -08:00
rand.c Remove prototypes with empty declarations (#12020) 2023-05-02 17:31:32 -07:00
rand.h Remove prototypes with empty declarations (#12020) 2023-05-02 17:31:32 -07:00
rax.c Extend rax usage by allowing any long long value (#12837) 2023-12-14 14:50:18 -08:00
rax.h Extend rax usage by allowing any long long value (#12837) 2023-12-14 14:50:18 -08:00
rax_malloc.h Cluster: hash slots tracking using a radix tree. 2017-03-27 16:37:22 +02:00
rdb.c Refactor the per-slot dict-array db.c into a new kvstore data structure (#12822) 2024-02-05 17:21:35 +02:00
rdb.h Refine the purpose of rdb saving with accurate flags (#12925) 2024-02-01 13:41:02 +02:00
redis-benchmark.c Move cliVersion to cli_common and add --version support for redis-check-aof (#10856) 2023-12-21 13:51:46 +02:00
redis-check-aof.c Move cliVersion to cli_common and add --version support for redis-check-aof (#10856) 2023-12-21 13:51:46 +02:00
redis-check-rdb.c update redis-check-rdb types (#12969) 2024-01-23 11:48:02 +02:00
redis-cli.c Adds connection timeout option to redis-cli (#10609) 2024-01-30 13:43:39 +02:00
redis-trib.rb Redis-trib deprecated: it no longer works and it 2018-07-13 10:51:58 +02:00
redisassert.c Add sanitizer support and clean up sanitizer findings (#9601) 2021-11-11 13:51:33 +02:00
redisassert.h Fix a prototype inconsitency of `_serverAssert` between redisassert.h and redis.h (#10872) 2022-06-19 08:42:12 +03:00
redismodule.h Add RM_TryCalloc() and RM_TryRealloc() (#12985) 2024-01-29 20:56:03 +02:00
release.c Build TLS as a loadable module 2022-08-23 12:37:56 +03:00
replication.c Refine the purpose of rdb saving with accurate flags (#12925) 2024-02-01 13:41:02 +02:00
resp_parser.c cleanup NBSP characters in comments (#10555) 2023-03-15 11:05:42 +02:00
resp_parser.h Fix an mistake in comment (#10560) 2022-04-10 09:29:50 +03:00
rio.c Reclaim page cache of RDB file (#11248) 2023-02-12 09:23:29 +02:00
rio.h Reclaim page cache of RDB file (#11248) 2023-02-12 09:23:29 +02:00
script.c fix scripts access wrong slot if they disagree with pre-declared keys (#12906) 2024-01-15 09:57:12 +08:00
script.h fix scripts access wrong slot if they disagree with pre-declared keys (#12906) 2024-01-15 09:57:12 +08:00
script_lua.c Change addReplyErrorFormat to addReplyError when there is no format (#12641) 2023-11-30 12:36:17 +02:00
script_lua.h Protect any table which is reachable from globals and added globals white list. 2022-04-27 00:37:40 +03:00
sds.c Fix possible corruption in sdsResize (CVE-2023-41056) (#12924) 2024-01-09 13:51:56 +02:00
sds.h Optimization: sdsRemoveFreeSpace to avoid realloc on noop (#11766) 2023-01-31 17:26:35 +02:00
sdsalloc.h Sanitize dump payload: fail RESTORE if memory allocation fails 2020-12-06 14:54:34 +02:00
sentinel.c Bump codespell from 2.2.4 to 2.2.5 (#12557) 2023-09-08 16:10:17 +03:00
server.c Re-compute active_defrag_running after adjusting defrag configurations (#13020) 2024-02-06 13:39:07 +02:00
server.h Re-compute active_defrag_running after adjusting defrag configurations (#13020) 2024-02-06 13:39:07 +02:00
setcpuaffinity.c cpu affinity: DragonFlyBSD support (#7956) 2020-10-25 14:14:05 +02:00
setproctitle.c Fix failed tests on Linux Alpine and add a CI job. (#8532) 2021-02-23 12:57:45 +02:00
sha1.c Ignore -Wstringop-overread warning for SHA1Transform() on GCC 12 (#11538) 2022-11-24 15:27:16 +02:00
sha1.h Fix some compile warnings and errors when building with gcc-12 or clang (#12035) 2023-04-18 09:53:51 +03:00
sha256.c Add sanitizer support and clean up sanitizer findings (#9601) 2021-11-11 13:51:33 +02:00
sha256.h fix explanation of sha256 (#9220) 2021-07-10 10:04:54 -05:00
siphash.c Better standardize around assertions (#12539) 2023-10-02 18:58:44 -07:00
slowlog.c Exit early if slowlog/acllog max len set to zero (#12965) 2024-01-22 16:01:04 -08:00
slowlog.h Auto-generate the command table from JSON files (#9656) 2021-12-15 21:23:15 +02:00
socket.c Improve error handling in connSocketBlockingConnect for various connction failures (#13008) 2024-02-06 14:31:08 +02:00
solarisfixes.h
sort.c fix scripts access wrong slot if they disagree with pre-declared keys (#12906) 2024-01-15 09:57:12 +08:00
sparkline.c Fix Uninitialised value error in createSparklineSequence (LATENCY GRAPH) (#11892) 2023-03-09 12:05:50 +02:00
sparkline.h
stream.h Stream consumers: Re-purpose seen-time, add active-time (#11099) 2022-11-30 14:21:31 +02:00
strl.c Avoid using unsafe C functions (#10932) 2022-07-18 10:56:26 +03:00
syncio.c
syscheck.c fix typos in syscheck (#11710) 2023-01-22 16:32:20 +02:00
syscheck.h Add warning for suspected slow system clocksource setting (#10636) 2022-05-22 17:10:31 +03:00
t_hash.c Shrink dict when deleting dictEntry (#12850) 2024-01-15 08:20:53 +02:00
t_list.c Call signalModifiedKey after the key modification is completed (#11144) 2023-11-27 11:16:41 +08:00
t_set.c Shrink dict when deleting dictEntry (#12850) 2024-01-15 08:20:53 +02:00
t_stream.c Reorder signalModifiedKey in xaddCommand. (#12895) 2023-12-28 13:29:27 +02:00
t_string.c Optimize SET PXAT to reduce calls of rewriteClientCommandVector (#12316) 2023-06-15 10:07:47 +03:00
t_zset.c Optimize resizing hash table to resize not only non-empty dicts. (#12819) 2024-01-29 21:02:07 +02:00
testhelp.h skip new page cache reclame unit test when running in valgrind (#11808) 2023-02-16 10:50:58 +02:00
threads_mngr.c Fix async safety in signal handlers (#12658) 2023-11-23 13:22:20 +02:00
threads_mngr.h Fix async safety in signal handlers (#12658) 2023-11-23 13:22:20 +02:00
timeout.c Blocking command with a 0.001 seconds timeout blocks indefinitely (#11688) 2023-01-08 01:02:48 -08:00
tls.c Manage number of new connections per cycle (#12178) 2024-01-02 15:15:03 -08:00
tracking.c Extend rax usage by allowing any long long value (#12837) 2023-12-14 14:50:18 -08:00
unix.c Manage number of new connections per cycle (#12178) 2024-01-02 15:15:03 -08:00
util.c Fix async safety in signal handlers (#12658) 2023-11-23 13:22:20 +02:00
util.h Fix async safety in signal handlers (#12658) 2023-11-23 13:22:20 +02:00
valgrind.sup Sanitize dump payload: fuzz tester and fixes for segfaults and leaks it exposed 2020-12-06 14:54:34 +02:00
version.h Add Module API for version and compatibility checks (#7865) 2020-10-11 17:21:58 +03:00
ziplist.c Remove prototypes with empty declarations (#12020) 2023-05-02 17:31:32 -07:00
ziplist.h Add --large-memory flag for REDIS_TEST to enable tests that consume more than 100mb (#9784) 2021-11-16 08:55:10 +02:00
zipmap.c Add --large-memory flag for REDIS_TEST to enable tests that consume more than 100mb (#9784) 2021-11-16 08:55:10 +02:00
zipmap.h Add --large-memory flag for REDIS_TEST to enable tests that consume more than 100mb (#9784) 2021-11-16 08:55:10 +02:00
zmalloc.c Better standardize around assertions (#12539) 2023-10-02 18:58:44 -07:00
zmalloc.h enable malloc_usable_size on haiku and dragonflybsd. (#12237) 2023-05-28 08:44:28 +03:00