Langage C signaux

Fermé
sky - 2 janv. 2011 à 15:28
 sky - 2 janv. 2011 à 15:33
Bonjour,

je n'arrive pas a savoir comment modifié une variables dun processus fils par un apelle de signaux

dans une boucle mon processus pére envois un signale a son processus par le fonction
kill(ppid , SIGUSR1)

j'ai configurer SIGUSR1 pour qu'il pour qu'il fait apelle a une fonction handler que j'ai crer moi méme

mais je ne sais pas comment modifié une varible du processus fils car le fonction appellé lors du signale est la fonction handler qui na pas accés au processus fils ( il me semble )


exemple :

void mon_handler(int sig) {
sleep(1);
printf("fils >> aie !!!! \n" );
fflush(stdout);
}

int main () {
int ppid
int a = 0
struct sigaction a;

sigaction(SIGUSR1, &a, NULL);
ppid = fork();

if(ppid == 0){/*ds le fils*/
/*on fais rien */
}
else{
kill(ppid, SIGUSR1);
}


}



je voudrai pouvoir modifié la variable a grace a l'envois du signale SIGUSR1




merci d'avance
A voir également:

1 réponse

j'ai une idée mais je ne sais pas comment la réaliser

je fais une boucle infini dans le processu fils qui attend la réception d'un signal bien précis a savoir SIGUSR1

est qui execute une modification de la variable a si le signale est bien reçu

mais je ne sais pas quelle fonction utilisé ?
0