Langage C signaux

sky -  
 sky -
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

1 réponse

  1. sky
     
    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