2012-02-15 23 views
12

Zrobiłem obsługi sygnału obserwacjiJak usunąć obsługi sygnału

struct sigaction pipeIn; 
pipeIn.sa_handler = updateServer; 
sigemptyset(&pipeIn.sa_mask); 
sa.sa_flags = SA_RESTART; 

if(sigaction(SIGUSR1, &pipeIn, NULL) == -1){ 

    printf("We have a problem, sigaction is not working.\n"); 
    perror("\n"); 
    exit(1);  

} 

Jak mogę usunąć lub zablokować tę szczególną obsługi tak, że mogę ustawić inny obsługi sygnału, który wykorzystuje ten sam sygnał? Dzięki.

Odpowiedz

16

Użyj wskaźnika SIG_DFL zamiast wskaźnika funkcji podczas wywoływania sigaction(2).

+3

lub po prostu zastąp istniejącą procedurę obsługi sygnału nową; nie trzeba najpierw usuwać starego. – mark4o

Powiązane problemy