efl/src
Jean-Philippe Andre cb3b4cc8d7 elm image: Fix async open to avoid multiple mmap
Reported by @jiin.moon:

In case of async_open for an elm_image, we try and open a file in a
thread, then map it and populate a bit, as this may take some time
(blocking I/O). This creates a mmap with eina_file_map_new. But later
evas image loaders will (usually) try and map the entire file with
eina_file_map_all() which creates another mmap. Since the size is
different (32Kb first then all) the returned map might be different
(it's up to the kernel to decide at this point).

So, in order to avoid having multiple maps on the same file, and try to
reduce the peak memory usage, we should prefer using the same map all
the time, i.e. the global one returned by eina_file_map_all().

This patch relies on the previous patch in eina_file which fixes
eina_file_map_populate() for the global map.

@fix
2017-09-18 11:58:53 +09:00
..
benchmarks eina: remove tests and benchmark for long dead mempool. 2017-08-15 13:46:38 -07:00
bin Tests/datetime: set the weekday to avoid Exactness error 2017-09-17 09:31:24 +03:00
bindings eo-cxx: Fix assignment operator for eo::concrete 2017-09-17 06:17:01 -03:00
edje_external
examples eolian-cxx: Fix example after disambiguation patch of C++ binding 2017-09-14 15:06:33 -03:00
generic
lib elm image: Fix async open to avoid multiple mmap 2017-09-18 11:58:53 +09:00
modules eina: prevent memory corruption in chained mempool 2017-09-16 14:28:39 +02:00
scripts elua: update for new eolian ownership system 2017-09-15 17:52:38 +02:00
static_libs efl src - mark fallthrough switch statements in 3rd party code 2017-08-04 10:19:27 +09:00
tests eina file: Ensure populate is safe to call 2017-09-18 11:58:53 +09:00
wayland_protocol wayland: add efl-hints protocol for setting aspect on surfaces 2017-08-04 16:15:43 -04:00
CMakeLists.txt
CMakeLists_Eina.txt
Makefile.am efl: remove PS3 backend. 2017-08-25 10:48:42 -07:00
Makefile_Cxx.am
Makefile_EPhysics.am
Makefile_Ecore.am ecore: fix distcheck buil by including missing file 2017-09-13 11:25:13 +02:00
Makefile_Ecore_Audio.am ecore_audio headers conflict with app have ifdefs 2017-07-22 17:59:11 +09:00
Makefile_Ecore_Avahi.am
Makefile_Ecore_Buffer.am
Makefile_Ecore_Cocoa.am
Makefile_Ecore_Con.am
Makefile_Ecore_Drm.am
Makefile_Ecore_Drm2.am ecore-drm2: Add static_libs/libdrm to drm2 source files 2017-06-09 13:46:02 -04:00
Makefile_Ecore_Evas.am efl: remove PS3 backend. 2017-08-25 10:48:42 -07:00
Makefile_Ecore_FB.am
Makefile_Ecore_File.am
Makefile_Ecore_IMF.am
Makefile_Ecore_IMF_Evas.am
Makefile_Ecore_Input.am
Makefile_Ecore_Input_Evas.am
Makefile_Ecore_Ipc.am
Makefile_Ecore_Js.am
Makefile_Ecore_SDL.am
Makefile_Ecore_Wayland.am
Makefile_Ecore_Win32.am
Makefile_Ecore_Wl2.am wayland: remove xdg5 support 2017-08-11 18:43:12 -04:00
Makefile_Ecore_X.am
Makefile_Ector.am
Makefile_Edje.am edje: Rename part external class 2017-09-13 13:58:38 +09:00
Makefile_Edje_Helper.am
Makefile_Eet.am
Makefile_Eet_Helper.am
Makefile_Eeze.am
Makefile_Efl.am ecore: Add efl_model_copmosite_selection model 2017-09-07 14:23:51 +09:00
Makefile_Efl_Js.am
Makefile_Efreet.am
Makefile_Eina.am Eina: Add Eina_Promise/Eina_Future. 2017-09-04 10:24:00 -03:00
Makefile_Eio.am
Makefile_Eldbus.am
Makefile_Elementary.am edje/elm: Rename _internal_ to _part_ (EO) 2017-09-13 13:53:49 +09:00
Makefile_Elocation.am
Makefile_Elput.am
Makefile_Elua.am
Makefile_Elua_Helper.am
Makefile_Embryo.am
Makefile_Emile.am
Makefile_Emotion.am
Makefile_Eo.am
Makefile_Eolian.am tests : eolain: make sure all the needed files for land in dist 2017-06-29 12:45:29 +02:00
Makefile_Eolian_Cxx.am
Makefile_Eolian_Cxx_Helper.am
Makefile_Eolian_Files_Helper.am
Makefile_Eolian_Helper.am
Makefile_Eolian_Js.am
Makefile_Eolian_Js_Helper.am
Makefile_Escape.am
Makefile_Ethumb.am
Makefile_Ethumb_Client.am
Makefile_Evas.am evas: Remove class Efl.Canvas.Group.Clipped 2017-09-13 09:57:05 +09:00
Makefile_Evil.am
Makefile_Wayland_Protocols.am wayland: add efl-hints protocol for setting aspect on surfaces 2017-08-04 16:15:43 -04:00
Makefile_efl_wl.am wayland: add efl-hints protocol for setting aspect on surfaces 2017-08-04 16:15:43 -04:00