You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Wes McKinney (JIRA)" <ji...@apache.org> on 2017/01/19 01:59:26 UTC
[jira] [Created] (ARROW-494) [C++] When MemoryMappedFile is
destructed, memory is unmapped even if buffer referecnes still exist
Wes McKinney created ARROW-494:
----------------------------------
Summary: [C++] When MemoryMappedFile is destructed, memory is unmapped even if buffer referecnes still exist
Key: ARROW-494
URL: https://issues.apache.org/jira/browse/ARROW-494
Project: Apache Arrow
Issue Type: Bug
Components: C++
Reporter: Wes McKinney
I'd like to see if there is some way to "protect" the memory map from premature destruction. This is a slight artifact of MemoryMappedFile's implementation sharing code with normal on-disk files (which read into allocated memory), i.e. the `Close` function unmaps the memory and closes the file handle. This would amount to creating a Buffer subclass that retains ownership of the file descriptor and memory map, so that if any Buffer still references the memory map, then `MemoryMappedFile::Close` will not unmap the memory or close the file. But then the unmapping / file close would need to happen when the last Buffer reference is destroyed.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)