…причём сдохли ДО того как вызвали shm_unlink(). В этом случае мне нужно чтобы вновь запущенная куча процессов получила новую чистую память, а не старое состояние.
НЯП вызывать shm_unlink() сразу после mmap() нельзя: если после shm_unlink() другой процесс вызовет shm_open() с этим же именем, он получит другую область памяти.
Пишут, что в старом API (shmget(), …) это делается через shmctl(). Причём по дефолту там как раз нужное мне поведение, что есть правильно с т.з. защиты от race: SIGKILL может прилететь до shmctl(). …Хотя как-то мутно, в соседнем же каменте пишут наоборот, а по man shmctl вообще ни хрена не понятно.
А в новом API походу никак?


