UNIX/Linux de traitement de signal: SIGEV_THREAD

J'ai mis un simple gestionnaire de signal dans mon code. J'ai initialisé le sigevent la structure, avec une fonction de gestionnaire pour attraper le signal.

Quelqu'un peut merci de pin-point pourquoi le code ne fonctionne pas? Idéalement, si il y a un signal, mon gestionnaire doit être appelé. Mais il ne l'est pas.

Merci de m'aider,
Merci
Kingsmasher1

enter code here
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <signal.h>
#include <time.h>

void my_handler(int sival_int, void* sival_ptr)
{
 printf("my_handler caught\n");
 signal(sig,my_handler);
}

int main()
{
 struct sigevent sevp;

 sevp.sigev_notify=SIGEV_THREAD;
 sevp.sigev_signo=SIGRTMIN;
 sevp.sigev_value.sival_ptr=NULL;
 sevp.sigev_notify_function=(void*)my_handler;
 kill(0,SIGRTMIN); //This should invoke the signal and call the function
}

OriginalL'auteur kingsmasher1 | 2011-03-01