Table des matières

Ok… donc les excerices en cours sont : 9.1 9.5 et 9.10 is traitent sur les signaux, forcement en utilisant l'API POSIX

quelques rappels simples... :

(18:48:41) Antoine_Delaporte: il faut lancer le handler dans le pere (18:48:51) X: C'est ce qui me semblait (18:49:05) Antoine_Delaporte: car sinon il peut y avoir des pertes de signaux (18:49:23) Antoine_Delaporte: hmm ma phrase n'est pas clair… (18:51:28) Antoine_Delaporte: en gros si jamais le fils n'a pas fini de s'initialiser et qu'a ce moment la le pere lui envoie le signal… donc le fils le loupe

Exercices

Exercice 9.1

À l’aide des primitives V7POSIX, écrivez un programme qui incrémente et affiche un compteur à chaque fois qu’il reçoit le signal SIGINT . Au bout de 5 fois, il doit s’arrêter. L’incrémentation et l’affichage du compteur ne doivent pas être réalisés dans la fonction main.

Exercice 9.5

Écrivez un programme composé de deux processus.

  1. Le processus père génère un processus fils qui doit exécuter une fonction traite toutes les secondes, qui ne fait qu’afficher un message.
  2. Au bout d’une minute, le processus père affiche un message et prévient le fils qu’il doit s’arrêter en lui envoyant le signal SIGUSR1.

Lorsque le processus fils reçoit l’ordre du père

  1. il affiche un message et s’arrête effectivement, provoquant alors la terminaison du père.

Vous utiliserez les primitives V7POSIX, avec le signal SIGALRM pour tout ce qui est temporisation.

Exercice 9.10

On désire simuler un mécanisme matériel comparable à un coupleur série à l’aide des signaux POSIX.

Écrivez les fonctions suivantes :

Cette fonction envoie les 8 bits constituant un octet au processus désigné.

Cette fonction prépare le récepteur à recevoir un octet.

Cette fonction attend que suffisamment de bits soient reçus pour constituer un octet, et renvoie alors la valeur reçue.

Rédigez un programme de test dans lequel le processus père envoie une valeur (passée en argument du programme) et le fils affiche la valeur reçue.