99 lines
3.6 KiB
Diff
99 lines
3.6 KiB
Diff
|
From 0a36100d556c2ff0cab394616b87b4105d6728fd Mon Sep 17 00:00:00 2001
|
||
|
From: Stuart Cardall <developer@it-offshore.co.uk>
|
||
|
Date: Sat, 29 Aug 2015 00:36:23 +0000
|
||
|
Subject: [PATCH] fix malloc_trim for non GlibC libraries
|
||
|
|
||
|
---
|
||
|
src/main-window.c | 4 +++-
|
||
|
src/ptk/ptk-file-browser.c | 20 +++++++++++++-------
|
||
|
src/vfs/vfs-dir.c | 8 +++++++-
|
||
|
3 files changed, 23 insertions(+), 9 deletions(-)
|
||
|
|
||
|
diff --git src/main-window.c src/main-window.c
|
||
|
index 016d070..908c788 100644
|
||
|
--- src/main-window.c
|
||
|
+++ src/main-window.c
|
||
|
@@ -1216,7 +1216,9 @@ void main_window_toggle_thumbnails_all_windows()
|
||
|
/* Ensuring free space at the end of the heap is freed to the OS,
|
||
|
* mainly to deal with the possibility thousands of large thumbnails
|
||
|
* have been freed but the memory not actually released by SpaceFM */
|
||
|
- malloc_trim(0);
|
||
|
+ #if defined (__GLIBC__)
|
||
|
+ malloc_trim(0);
|
||
|
+ #endif
|
||
|
}
|
||
|
|
||
|
void focus_panel( GtkMenuItem* item, gpointer mw, int p )
|
||
|
diff --git src/ptk/ptk-file-browser.c src/ptk/ptk-file-browser.c
|
||
|
index ac898d0..ccbd282 100644
|
||
|
--- src/ptk/ptk-file-browser.c
|
||
|
+++ src/ptk/ptk-file-browser.c
|
||
|
@@ -1513,7 +1513,9 @@ void ptk_file_browser_finalize( GObject *obj )
|
||
|
* mainly to deal with the possibility that killing the browser results in
|
||
|
* thousands of large thumbnails being freed, but the memory not actually
|
||
|
* released by SpaceFM */
|
||
|
- malloc_trim(0);
|
||
|
+ #if defined (__GLIBC__)
|
||
|
+ malloc_trim(0);
|
||
|
+ #endif
|
||
|
}
|
||
|
|
||
|
void ptk_file_browser_get_property ( GObject *obj,
|
||
|
@@ -2703,11 +2705,13 @@ void on_dir_file_listed( VFSDir* dir,
|
||
|
ptk_file_browser_update_model( file_browser );
|
||
|
file_browser->busy = FALSE;
|
||
|
|
||
|
- /* Ensuring free space at the end of the heap is freed to the OS,
|
||
|
- * mainly to deal with the possibility that changing the directory results in
|
||
|
- * thousands of large thumbnails being freed, but the memory not actually
|
||
|
- * released by SpaceFM */
|
||
|
- malloc_trim(0);
|
||
|
+ /* Ensuring free space at the end of the heap is freed to the OS,
|
||
|
+ * mainly to deal with the possibility that changing the directory results in
|
||
|
+ * thousands of large thumbnails being freed, but the memory not actually
|
||
|
+ * released by SpaceFM */
|
||
|
+ #if defined (__GLIBC__)
|
||
|
+ malloc_trim(0);
|
||
|
+ #endif
|
||
|
|
||
|
g_signal_emit( file_browser, signals[ AFTER_CHDIR_SIGNAL ], 0 );
|
||
|
//g_signal_emit( file_browser, signals[ CONTENT_CHANGE_SIGNAL ], 0 );
|
||
|
@@ -4556,7 +4560,9 @@ void ptk_file_browser_refresh( GtkWidget* item, PtkFileBrowser* file_browser )
|
||
|
/* Ensuring free space at the end of the heap is freed to the OS,
|
||
|
* mainly to deal with the possibility thousands of large thumbnails
|
||
|
* have been freed but the memory not actually released by SpaceFM */
|
||
|
- malloc_trim(0);
|
||
|
+ #if defined (__GLIBC__)
|
||
|
+ malloc_trim(0);
|
||
|
+ #endif
|
||
|
|
||
|
// begin load dir
|
||
|
file_browser->busy = TRUE;
|
||
|
diff --git src/vfs/vfs-dir.c src/vfs/vfs-dir.c
|
||
|
index 9546713..555ad00 100644
|
||
|
--- src/vfs/vfs-dir.c
|
||
|
+++ src/vfs/vfs-dir.c
|
||
|
@@ -21,7 +21,11 @@
|
||
|
#include <string.h>
|
||
|
|
||
|
#include <fcntl.h> /* for open() */
|
||
|
+
|
||
|
+#if defined (__GLIBC__)
|
||
|
#include <malloc.h> /* for malloc_trim */
|
||
|
+#endif
|
||
|
+
|
||
|
#include <unistd.h> /* for read */
|
||
|
#include "vfs-volume.h"
|
||
|
|
||
|
@@ -1193,7 +1197,9 @@ void vfs_dir_unload_thumbnails( VFSDir* dir, gboolean is_big )
|
||
|
/* Ensuring free space at the end of the heap is freed to the OS,
|
||
|
* mainly to deal with the possibility thousands of large thumbnails
|
||
|
* have been freed but the memory not actually released by SpaceFM */
|
||
|
- malloc_trim(0);
|
||
|
+ #if defined (__GLIBC__)
|
||
|
+ malloc_trim(0);
|
||
|
+ #endif
|
||
|
}
|
||
|
|
||
|
//sfm added mime change timer
|