Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2018-10-03 12:10:08 +0300
committerBrecht Van Lommel <brechtvanlommel@gmail.com>2018-10-03 13:09:31 +0300
commitd2da3af073a63b6ae25119ebbd2e0d3c9a1b6823 (patch)
treec29a832a85eedc8628568115ed5530fe3f49587f /build_files
parentbf37c93533a64011437fd29235fe8bfd3eedd589 (diff)
Fix T54287: memory not freed after rendering on Linux.
With new jemalloc versions memory allocated by threads that then become inactive is not longer automatically freed. Instead we have to enable a background thread to do it. Some testing is needed to find out of this is sufficient, because the background thread only runs periodically.
Diffstat (limited to 'build_files')
-rw-r--r--build_files/cmake/Modules/FindJeMalloc.cmake9
1 files changed, 9 insertions, 0 deletions
diff --git a/build_files/cmake/Modules/FindJeMalloc.cmake b/build_files/cmake/Modules/FindJeMalloc.cmake
index 506892b34ba..0abe103cd2e 100644
--- a/build_files/cmake/Modules/FindJeMalloc.cmake
+++ b/build_files/cmake/Modules/FindJeMalloc.cmake
@@ -53,6 +53,15 @@ FIND_LIBRARY(JEMALLOC_LIBRARY
lib64 lib
)
+if(JEMALLOC_INCLUDE_DIR)
+ SET(_version_regex "^#define[ \t]+JEMALLOC_VERSION[ \t]+\"([^\"]+)\".*")
+ file(STRINGS "${JEMALLOC_INCLUDE_DIR}/jemalloc.h"
+ JEMALLOC_VERSION REGEX "${_version_regex}")
+ string(REGEX REPLACE "${_version_regex}" "\\1"
+ JEMALLOC_VERSION "${JEMALLOC_VERSION}")
+ unset(_version_regex)
+endif()
+
# handle the QUIETLY and REQUIRED arguments and set JEMALLOC_FOUND to TRUE if
# all listed variables are TRUE
INCLUDE(FindPackageHandleStandardArgs)