Commit 1282eb69 authored by Sergei Golubchik's avatar Sergei Golubchik

cleanup: make malloc_size_cb_func always defined

parent ebb8c9fb
...@@ -48,7 +48,6 @@ static inline size_t malloc_size_and_flag(void *p, my_bool *is_thread_specific) ...@@ -48,7 +48,6 @@ static inline size_t malloc_size_and_flag(void *p, my_bool *is_thread_specific)
#define MALLOC_FIX_POINTER_FOR_FREE(p) (((char*) (p)) - MALLOC_PREFIX_SIZE) #define MALLOC_FIX_POINTER_FOR_FREE(p) (((char*) (p)) - MALLOC_PREFIX_SIZE)
#endif /* SAFEMALLOC */ #endif /* SAFEMALLOC */
static MALLOC_SIZE_CB malloc_size_cb_func= NULL;
/** /**
Inform application that memory usage has changed Inform application that memory usage has changed
...@@ -59,17 +58,19 @@ static MALLOC_SIZE_CB malloc_size_cb_func= NULL; ...@@ -59,17 +58,19 @@ static MALLOC_SIZE_CB malloc_size_cb_func= NULL;
The type os size is long long, to be able to handle negative numbers to The type os size is long long, to be able to handle negative numbers to
decrement the memory usage decrement the memory usage
@return 0 - ok
1 - failure, abort the allocation
*/ */
static void dummy(long long size __attribute__((unused)),
my_bool is_thread_specific __attribute__((unused)))
{}
static void update_malloc_size(long long size, my_bool is_thread_specific) static MALLOC_SIZE_CB update_malloc_size= dummy;
{
if (malloc_size_cb_func)
malloc_size_cb_func(size, is_thread_specific);
}
void set_malloc_size_cb(MALLOC_SIZE_CB func) void set_malloc_size_cb(MALLOC_SIZE_CB func)
{ {
malloc_size_cb_func= func; update_malloc_size= func ? func : dummy;
} }
......
...@@ -3989,7 +3989,7 @@ static void my_malloc_size_cb_func(long long size, my_bool is_thread_specific) ...@@ -3989,7 +3989,7 @@ static void my_malloc_size_cb_func(long long size, my_bool is_thread_specific)
{ {
THD *thd= current_thd; THD *thd= current_thd;
if (likely(is_thread_specific)) /* If thread specific memory */ if (is_thread_specific) /* If thread specific memory */
{ {
/* /*
When thread specfic is set, both mysqld_server_initialized and thd When thread specfic is set, both mysqld_server_initialized and thd
...@@ -4006,8 +4006,7 @@ static void my_malloc_size_cb_func(long long size, my_bool is_thread_specific) ...@@ -4006,8 +4006,7 @@ static void my_malloc_size_cb_func(long long size, my_bool is_thread_specific)
else if (likely(thd)) else if (likely(thd))
{ {
DBUG_PRINT("info", ("global thd memory_used: %lld size: %lld", DBUG_PRINT("info", ("global thd memory_used: %lld size: %lld",
(longlong) thd->status_var.global_memory_used, (longlong) thd->status_var.global_memory_used, size));
size));
thd->status_var.global_memory_used+= size; thd->status_var.global_memory_used+= size;
} }
else else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment