aboutsummaryrefslogtreecommitdiffstats
path: root/testing/spacefm/fix-malloc_trim.patch
blob: 85a3b66930bc736c3266d438a348bbd9c35d3f10 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
diff -urp spacefm-1.0.3/src/main-window.c spacefm-1.0.3.new/src/main-window.c
--- spacefm-1.0.3/src/main-window.c	2015-08-26 14:24:08.000000000 +0000
+++ spacefm-1.0.3.new/src/main-window.c	2015-08-28 17:11:43.091757948 +0000
@@ -1216,7 +1216,9 @@ void main_window_toggle_thumbnails_all_w
     /* 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 -urp spacefm-1.0.3/src/ptk/ptk-file-browser.c spacefm-1.0.3.new/src/ptk/ptk-file-browser.c
--- spacefm-1.0.3/src/ptk/ptk-file-browser.c	2015-08-26 14:24:08.000000000 +0000
+++ spacefm-1.0.3.new/src/ptk/ptk-file-browser.c	2015-08-28 17:16:58.495770877 +0000
@@ -1513,7 +1513,9 @@ void ptk_file_browser_finalize( GObject
      * 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
     /* 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 -urp spacefm-1.0.3/src/vfs/vfs-dir.c spacefm-1.0.3.new/src/vfs/vfs-dir.c
--- spacefm-1.0.3/src/vfs/vfs-dir.c	2015-08-26 14:24:08.000000000 +0000
+++ spacefm-1.0.3.new/src/vfs/vfs-dir.c	2015-08-28 17:10:12.543754236 +0000
@@ -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*
     /* 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