[ https://issues.apache.org/jira/browse/ARROW-494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Rok Mihevc updated ARROW-494: ----------------------------- External issue URL: https://github.com/apache/arrow/issues/15346 > [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 > Assignee: Wes McKinney > Priority: Major > Fix For: 0.2.0 > > > 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 (v8.20.10#820010)