Освободить ранее смапированную область памяти, предоставляя больше контроля в сравнении с munmap()
#include <sys/mman.h>int munmap_flags( void *addr,size_t len,unsigned flags );
libc
Функция munmap_flags() удаляет мапирование страниц памяти, начиная с адреса addr и длиной len байт, с округлением вверх до конца страницы памяти. Последующие обращения к этим страницам памяти будут приводить к отправке процессу сигнала SIGSEGV
.
Если соответствующих параметрам запроса страниц памяти не обнаружено, вызов munmap_flags() не будет иметь эффекта.
Имеются некоторые взаимодействия аргумента flags с флагом MAP_NOINIT функции mmap(), равно как и с procnto-*, в следующих аспектах:
MAP_NOINIT
. Если флаг установлен, требование POSIX по занулению памяти игнорируется. Физическая память, которая будет использована при мапировании, должна быть предварительно освобождена с использованием UNMAP_INIT_OPTIONAL
для того, чтобы флаг MAP_NOINIT
имел силу.
UNMAP_INIT_REQUIRED
(используется по умолчанию). UNMAP_INIT_OPTIONAL
.
ЗОСРВ «Нейтрино»
mmap(), mprotect(), munmap(), shm_open(), shm_unlink()
procnto-* в Справочнике по Утилитам
Предыдущий раздел: Описание API системной библиотеки