mirror of
https://github.com/MariaDB/server.git
synced 2025-08-30 11:22:14 +03:00
Bug#13418934 REMOVE HAVE_PURIFY DEPENDENCES FROM INNODB
InnoDB: Remove HAVE_purify, UNIV_INIT_MEM_TO_ZERO, UNIV_SET_MEM_TO_ZERO. The compile-time setting HAVE_purify can mask potential bugs. It is being set in PB2 Valgrind runs. We should simply get rid of it, and replace it with UNIV_MEM_INVALID() to declare uninitialized memory as such in Valgrind-instrumented binaries. os_mem_alloc_large(), ut_malloc_low(): Remove the parameter set_to_zero. ut_malloc(): Define as a macro that invokes ut_malloc_low(). buf_pool_init(): Never initialize the buffer pool frames. All pages must be initialized before flushing them to disk. mem_heap_alloc(): Never initialize the allocated memory block. os_mem_alloc_nocache(), ut_test_malloc(): Unused function, remove. rb:813 approved by Jimmy Yang
This commit is contained in:
@@ -78,40 +78,19 @@ ut_mem_init(void);
|
||||
/*=============*/
|
||||
|
||||
/**********************************************************************//**
|
||||
Allocates memory. Sets it also to zero if UNIV_SET_MEM_TO_ZERO is
|
||||
defined and set_to_zero is TRUE.
|
||||
Allocates memory.
|
||||
@return own: allocated memory */
|
||||
UNIV_INTERN
|
||||
void*
|
||||
ut_malloc_low(
|
||||
/*==========*/
|
||||
ulint n, /*!< in: number of bytes to allocate */
|
||||
ibool set_to_zero, /*!< in: TRUE if allocated memory
|
||||
should be set to zero if
|
||||
UNIV_SET_MEM_TO_ZERO is defined */
|
||||
ibool assert_on_error); /*!< in: if TRUE, we crash mysqld if
|
||||
ibool assert_on_error) /*!< in: if TRUE, we crash mysqld if
|
||||
the memory cannot be allocated */
|
||||
__attribute__((malloc));
|
||||
/**********************************************************************//**
|
||||
Allocates memory. Sets it also to zero if UNIV_SET_MEM_TO_ZERO is
|
||||
defined.
|
||||
@return own: allocated memory */
|
||||
UNIV_INTERN
|
||||
void*
|
||||
ut_malloc(
|
||||
/*======*/
|
||||
ulint n); /*!< in: number of bytes to allocate */
|
||||
#ifndef UNIV_HOTBACKUP
|
||||
/**********************************************************************//**
|
||||
Tests if malloc of n bytes would succeed. ut_malloc() asserts if memory runs
|
||||
out. It cannot be used if we want to return an error message. Prints to
|
||||
stderr a message if fails.
|
||||
@return TRUE if succeeded */
|
||||
UNIV_INTERN
|
||||
ibool
|
||||
ut_test_malloc(
|
||||
/*===========*/
|
||||
ulint n); /*!< in: try to allocate this many bytes */
|
||||
#endif /* !UNIV_HOTBACKUP */
|
||||
Allocates memory. */
|
||||
#define ut_malloc(n) ut_malloc_low(n, TRUE)
|
||||
/**********************************************************************//**
|
||||
Frees a memory block allocated with ut_malloc. Freeing a NULL pointer is
|
||||
a nop. */
|
||||
|
Reference in New Issue
Block a user