Fix the bug of not hook cfree (#1066)
This commit is contained in:
parent
24023aa699
commit
ffe44ef758
|
|
@ -218,6 +218,15 @@ void* my_calloc(size_t n, size_t size) __THROW {
|
|||
return ptr;
|
||||
}
|
||||
|
||||
void my_cfree(void* ptr) __THROW {
|
||||
#ifndef BE_TEST
|
||||
size_t size = tc_malloc_size(ptr);
|
||||
starrocks::tls_thread_status.mem_release(size);
|
||||
#endif
|
||||
|
||||
tc_cfree(ptr);
|
||||
}
|
||||
|
||||
// memalign
|
||||
void* my_memalign(size_t align, size_t size) __THROW {
|
||||
void* ptr = tc_memalign(align, size);
|
||||
|
|
@ -282,6 +291,7 @@ void* malloc(size_t size) __THROW ALIAS(my_alloc);
|
|||
void free(void* p) __THROW ALIAS(my_free);
|
||||
void* realloc(void* p, size_t size) __THROW ALIAS(my_realloc);
|
||||
void* calloc(size_t n, size_t size) __THROW ALIAS(my_calloc);
|
||||
void cfree(void* ptr) __THROW ALIAS(my_cfree);
|
||||
void* memalign(size_t align, size_t size) __THROW ALIAS(my_memalign);
|
||||
void* aligned_alloc(size_t align, size_t size) __THROW ALIAS(my_aligned_alloc);
|
||||
void* valloc(size_t size) __THROW ALIAS(my_valloc);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
--- gperftools-gperftools-2.7/src/libc_override_gcc_and_weak.h 2018-04-30 14:00:34.000000000 +0800
|
||||
+++ gperftools-gperftools-2.7/src/libc_override_gcc_and_weak.h 2021-11-02 20:20:15.404945205 +0800
|
||||
+++ gperftools-gperftools-2.7/src/libc_override_gcc_and_weak.h 2021-11-05 17:26:30.853784606 +0800
|
||||
@@ -57,168 +57,7 @@
|
||||
|
||||
#define ALIAS(tc_fn) __attribute__ ((alias (#tc_fn), used))
|
||||
|
|
@ -169,3 +169,14 @@
|
|||
#ifndef __UCLIBC__
|
||||
void malloc_stats(void) __THROW ALIAS(tc_malloc_stats);
|
||||
#endif
|
||||
--- gperftools-gperftools-2.7/src/tests/tcmalloc_unittest.cc 2018-04-30 14:00:34.000000000 +0800
|
||||
+++ gperftools-gperftools-2.7/src/tests/tcmalloc_unittest.cc 2021-11-05 17:26:59.906356097 +0800
|
||||
@@ -1300,7 +1300,7 @@ static int RunAllTests(int argc, char**
|
||||
CHECK(p1 != NULL);
|
||||
VerifyNewHookWasCalled();
|
||||
VerifyDeleteHookWasCalled();
|
||||
- cfree(p1); // synonym for free
|
||||
+ tc_cfree(p1); // synonym for free
|
||||
VerifyDeleteHookWasCalled();
|
||||
|
||||
if (kOSSupportsMemalign) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue