Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Maxim Timofeyev                      2:5030/1763.1  27 Sep 2002  16:26:20
 To : Valentin Nechayev
 Subject : Re: signal( SIGSEGV, function )
 -------------------------------------------------------------------------------- 
 
 VN> Корка не создается, если
 VN> 1) размер ее больше чем соответствующий limit
 
 Hе может привысить.
 
 VN> 2) нет прав на запись в текущий каталог
 
 Точно есть.
 
 VN> 3) процесс от момента первого exec() подвергался set*uid() или set*gid()
 VN> с реальной сменой этих id
 
 Hе использует.
 
 VN> Ищи причину.
 
 ИМХО из-за специфических ключей при сборке, но еще не проверял.
 
 VN> Вдогонку: для сшибания программы с коркой есть специальный сигнал - SIGQUIT.
 VN> Hе надо для этого использовать SIGSEGV.
 
 Дык я не собираюсь сшибать программу сам, я хочу перехватить сигнал
 (перехватываю SIGSEGV) для корректного завершения ибо использую
 ncurces, а в случае некоректного завершения съезжает терминал.
 Hо мне нужно перехватить сигнал, корректно завершить программу, да еще и
 создать корку для дальнейшего рассмотрения. ;-) Один раз после перехвта
 сигнала она создалась, но внутри оказалась зацикленный вызов функции
 завершения (куча раз вызывающаяся). Да и размер корки из-за этого был
 порядка 9Mb. ;) В реальности до 1Mb редко доходит. Хотя редко происходят
 такие вот сбои, но все же бывает в процессе отладки, а вот ут и не
 только. ;(
 
 MT>> 2. Как узнать откуда произошло прерывание выполненяемой программы
 MT>> при signal(), а также alarm() и т.п. Hужно для записи в лог в отладочных
 MT>> целях.
 VN> Ставь глобальную переменную в нужное значение.
 
 Т.е. стандратного способа нет? ;(
 
 -- 
 [2:5030/1763@fidonet.org]      [tmahome@tma.spb.ru]       [http://tma.spb.ru]
 --- tin/1.5.10-20011117 ("Darkcell") (UNIX) (Linux/2.4.18-alt6master-up (i686))
  * Origin: TMA at HOME (2:5030/1763.1)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: signal( SIGSEGV, function )   Maxim Timofeyev   27 Sep 2002 16:26:20 
Архивное /ru.linux/390439ac870b8.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional