1) Есть программа, которая создаёт на монтируемом разделе каталог, в нём некий файл, пишет в него всякую чушь и изменяет свою рабочий каталог на созданный.
2) Есть пользователь, который с помощью команды "umount -F /mnt2" размонтирует этор раздел.
3) Как я понял, в результате этого действия программе, а точнее процессу, отправляется сигнал SIGSEGV.
Вопрос: почему при размонтировании не срабатывает установленный обработчик сигнала (он отзывается только на "kill -SIGSEGV [pid]"), и что происходит с открытыми файлами(через функцию open).
Вот что я делаю:
static void sig_hndlr(int signo)
{
...
}
main()
{
struct sigaction act;
act.sa_handler=sig_hndlr;
sigfillset(&act.sa_mask);
act.sa_flags=0;
if (sigaction(SIGSEGV, &act, NULL) < 0)
exit(0);
...
}
Ответ на:
комментарий
от pooh
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум signal (2005)
- Форум [c++]Завершение процесса (2011)
- Форум обработать сигнал sigchld при прерывании функции poll (2017)
- Форум Продолжим про исключения!! (2007)
- Форум помогите разобраться (2005)
- Форум Искажается информация о сигнале при прохождении оного из kernel 2.2 в user-space (Red Hat 6.2) (2003)
- Форум Искажается информация о сигнале при прохождении оного из kernel 2.2 в user-space (Red Hat 6.2) (2003)
- Форум Linux Directory Notification (2002)
- Форум Сигнал c установленным пользоветльским обработчиком не прерывает вызовы select и poll (2014)
- Форум Помогите разобраться с потоками (2003)