Do not check tcache clear when doing a purge. On systems where the tcache is disabled, the tcache clear option will fail, and not really do a purge. Bug: 137037462 Bug: 136236080 Test: Built taimen as malloc svelte and verified the M_PURGE mallopt Test: call failed before this fix and passes afterwards. Change-Id: Ib30e5f3e083a9c6d046adff30f2aa7eacaf6df10 Merged-In: Ib30e5f3e083a9c6d046adff30f2aa7eacaf6df10 (cherry picked from commit 3d0bafb945bc9e39ddc84a0167e713b8e70dc135)
diff --git a/libc/bionic/jemalloc_wrapper.cpp b/libc/bionic/jemalloc_wrapper.cpp index bf0494d..7d04457 100644 --- a/libc/bionic/jemalloc_wrapper.cpp +++ b/libc/bionic/jemalloc_wrapper.cpp
@@ -107,9 +107,8 @@ // clear the caches of other threads. // This must be done first so that cleared allocations get purged // in the next calls. - if (je_mallctl("thread.tcache.flush", nullptr, nullptr, nullptr, 0) != 0) { - return 0; - } + // Ignore the return call since this will fail if the tcache is disabled. + je_mallctl("thread.tcache.flush", nullptr, nullptr, nullptr, 0); unsigned narenas; size_t sz = sizeof(unsigned);