| 853 | )] |
| 854 | impl PyMmap { |
| 855 | fn as_bytes_mut(&self) -> BorrowedValueMut<'_, [u8]> { |
| 856 | PyMutexGuard::map(self.mmap.lock(), |m| { |
| 857 | match m.as_mut().expect("mmap closed or invalid") { |
| 858 | MmapObj::Read(_) => panic!("mmap can't modify a readonly memory map."), |
| 859 | MmapObj::Write(mmap) => &mut mmap[..], |
| 860 | #[cfg(windows)] |
| 861 | MmapObj::Named(named) => unsafe { |
| 862 | core::slice::from_raw_parts_mut(named.view_ptr, named.len) |
| 863 | }, |
| 864 | } |
| 865 | }) |
| 866 | .into() |
| 867 | } |
| 868 | |
| 869 | fn as_bytes(&self) -> BorrowedValue<'_, [u8]> { |
| 870 | PyMutexGuard::map_immutable(self.mmap.lock(), |m| { |