| 422 | ~MemoryMap() { ARROW_CHECK_OK(Close()); } |
| 423 | |
| 424 | Status Close() { |
| 425 | if (file_->is_open()) { |
| 426 | // Lose our reference to the MemoryMappedRegion, so that munmap() |
| 427 | // is called as soon as all buffer exports are released. |
| 428 | region_.reset(); |
| 429 | return file_->Close(); |
| 430 | } else { |
| 431 | return Status::OK(); |
| 432 | } |
| 433 | } |
| 434 | |
| 435 | bool closed() const { return !file_->is_open(); } |
| 436 |