процесса, а гарантировано убивало его:
void *stack = mmap(NULL, stack_size, PROT_READ|PROT_WRITE, MAP_ANON|MAP_STACK, -1, 0);
если правильно наэкспериментировал, то guard page позволяет читать память (в диапазоне stack + getpagesize()) и валится только при попытке записать туда. нельзя ничего сделать, чтобы при чтении из guard page процесс тоже валился?
зачем тебе для этого вообще guard page?
как оказалось, самые простейшие вызовы (тот же syslog()) не влезают в 2 страницы на стэке. а так как я жадный и по 2-3 страницы стеку сделал, то все стало виснуть :)
Обсуждают сегодня