From cded14f3e3ce96ab75988fcbf3f3fe0246dfa7cf Mon Sep 17 00:00:00 2001 From: Oran Agra Date: Mon, 8 May 2023 08:31:58 +0300 Subject: 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. --- src/debug.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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))) { -- cgit v1.2.1