From 17de276ad0c833b11935bac65f71013e1d570097 Mon Sep 17 00:00:00 2001 From: Hwankyu Jhun Date: Tue, 20 Feb 2018 15:18:15 +0900 Subject: [PATCH] Fix appcore_base_flush_memory API - Releases sqlite3 memory Change-Id: Ibeb319caa02ed2e35dd20e201bf93556b500cc41 Signed-off-by: Hwankyu Jhun --- src/base/appcore_base.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/base/appcore_base.c b/src/base/appcore_base.c index a792d8f..cc311a9 100644 --- a/src/base/appcore_base.c +++ b/src/base/appcore_base.c @@ -45,6 +45,7 @@ #define RESOURCED_FREEZER_PATH "/Org/Tizen/Resourced/Freezer" #define RESOURCED_FREEZER_INTERFACE "org.tizen.resourced.freezer" #define RESOURCED_FREEZER_SIGNAL "FreezerState" +#define SQLITE_FLUSH_MAX (1024 * 1024) typedef struct _appcore_base_context { appcore_base_ops ops; @@ -1088,6 +1089,13 @@ EXPORT_API void appcore_base_fini(void) EXPORT_API int appcore_base_flush_memory(void) { + int (*sqlite3_free_heap_memory)(int); + + sqlite3_free_heap_memory = dlsym(RTLD_DEFAULT, + "sqlite3_release_memory"); + if (sqlite3_free_heap_memory) + sqlite3_free_heap_memory(SQLITE_FLUSH_MAX); + malloc_trim(0); return 0; } -- 2.7.4