summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOran Agra <oran@redislabs.com>2023-05-08 08:31:58 +0300
committerOran Agra <oran@redislabs.com>2023-05-08 08:31:58 +0300
commitcded14f3e3ce96ab75988fcbf3f3fe0246dfa7cf (patch)
treee64b7e7f08a805bb0fa89fec13ba04f0070a45de
parent07d54dc5baa1b2e7adb5ce8e7bee398d376fe13b (diff)
downloadredis-cded14f3e3ce96ab75988fcbf3f3fe0246dfa7cf.tar.gz
Fix defrag CI for 32bit after merge of jemalloc 5.3
The new mallctl seems to set the output sz when EINVAL occors. that messes up the retry mechanism that does /2 on each iteration.
-rw-r--r--src/debug.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/debug.c b/src/debug.c
index 0305e8a73..b2c3de69a 100644
--- a/src/debug.c
+++ b/src/debug.c
@@ -329,7 +329,8 @@ void mallctl_int(client *c, robj **argv, int argc) {
}
size_t sz = sizeof(old);
while (sz > 0) {
- if ((ret=je_mallctl(argv[0]->ptr, &old, &sz, argc > 1? &val: NULL, argc > 1?sz: 0))) {
+ size_t zz = sz;
+ if ((ret=je_mallctl(argv[0]->ptr, &old, &zz, argc > 1? &val: NULL, argc > 1?sz: 0))) {
if (ret == EPERM && argc > 1) {
/* if this option is write only, try just writing to it. */
if (!(ret=je_mallctl(argv[0]->ptr, NULL, 0, &val, sz))) {