eina_file: fix unmap of unmapped region when Eina_File has copied data and not a...
authorAl Poole <netstar@gmail.com>
Fri, 7 Jul 2017 02:19:31 +0000 (11:19 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Fri, 7 Jul 2017 04:22:53 +0000 (13:22 +0900)
commit9aeaef55c4f6791feaddbd6be9c6dbc6e3e0c087
treed857d906e1ec63f87a7b89c555fba12b25e58cb1
parent242127a96be0eb78791f48fae7c44f0f16248add
eina_file: fix unmap of unmapped region when Eina_File has copied data and not a map;

Summary:
This was causing problems on non-Linux architectures as eina_file_real_close unmapped not mapped data. Added a "copied" flag to Eina_File which is set on eina_file_virtualize (on copied data), and tested for when eina_file_real_close does the unmap. I'm surprised Linux allowed this. Certainly all of the BSDs crashed with the previous behaviour.

@fix T5479

Test Plan: Example inlcude Rage and Enlightenment Thumb on BSD systems which use eina_file_virtualize with emotion to obtain album artwork.

Reviewers: raster, cedric, jpeg

Reviewed By: jpeg

Maniphest Tasks: T5479

Differential Revision: https://phab.enlightenment.org/D5006
src/lib/eina/eina_file.c
src/lib/eina/eina_file_common.c
src/lib/eina/eina_file_common.h