почему функция сигнала не работает с использованием сигнала? - PullRequest
0 голосов
/ 05 ноября 2018

Этот код не может быть выполнен. Сигнал посылается функции через сигнал, но код внутри функции не работает.

void my_sigtrap(int sig) {
    LOGD("mtf----   why not working  ");
} 

void test_signal() {//SIGTRAP
    signal(SIGTRAP, my_sigtrap);
}

почему функция my_sigtrap не работает?

1 Ответ

0 голосов
/ 05 ноября 2018

Функция signal() не отправляет сигнал, но устанавливает собственный обработчик сигнала, поэтому при получении этого сигнала ваша функция будет выполняться для его обработки. Сигнал фактически отправляется процессу с помощью API kill() (посмотрите детали с помощью man 2 kill).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...