Add drop to safely deallocate memory
This commit is contained in:
parent
811842e142
commit
b7b6c8e9cc
@ -1,5 +1,6 @@
|
|||||||
#![cfg(feature = "std")]
|
#![cfg(feature = "std")]
|
||||||
|
|
||||||
|
use core::ffi::c_void;
|
||||||
use core::ptr::null_mut;
|
use core::ptr::null_mut;
|
||||||
use core::slice::{from_raw_parts, from_raw_parts_mut};
|
use core::slice::{from_raw_parts, from_raw_parts_mut};
|
||||||
use nix::sys::mman;
|
use nix::sys::mman;
|
||||||
@ -43,3 +44,11 @@ impl MMappedMemory {
|
|||||||
unsafe { from_raw_parts_mut(self.pointer, self.size) }
|
unsafe { from_raw_parts_mut(self.pointer, self.size) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl Drop for MMappedMemory {
|
||||||
|
fn drop(&mut self) {
|
||||||
|
unsafe {
|
||||||
|
mman::munmap(self.pointer as *mut c_void, self.size).unwrap();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user