2012-02-15 6 views
12

を削除するには、私は同じ信号を使用する別のシグナルハンドラを設定できるように、どのように私は、この特定のハンドラを削除するか、またはブロックするか、フォローシグナルハンドラにどのように私は、シグナルハンドラ

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);  

} 

を作りましたか?ありがとう。

答えて

16

sigaction(2)を呼び出すときに、関数ポインタの代わりにSIG_DFLを使用してください。

+3

または既存のシグナルハンドラを新しいものに置き換えてください。古いものを最初に削除する必要はありません。 – mark4o