Next: Les bases
Up: Introduction
Previous: Accès aux sémaphores
Voici la liste des propriétés et comportements des clients et serveurs dans des situations extraordinaires:
- Un serveur a la propriété de pouvoir survivre à la perte de ses sémaphores (après un ipckill par exemple), il arrive à les refabriquer.
- Si les sémaphores sont tués deux fois de suite sans qu'aucune communication n'a eu lieu, le serveur se "suicide".
- Si un serveur est tué sans qu'il soit en communication, aucun problème.
- Si un client essaie de se connecter sur un serveur inexistant, le client est suspendu et sa commande sera exécutée lorsque le client sera lancé.
- Si un serveur est tué pendant une communication avec un client en attente. Le client reste en attente jusqu'au moment ou le serveur est relancé.
- Si un serveur est tué pendant une communication sans client en attente. Aucun problème.
- Un client à la propriété de pouvoir se connecter à un serveur à n'importe quel moment. Il peut se déconnecter que s'il n'est pas en communication avec un serveur. Les clients peuvent ainsi être lancés et tués un nombre de fois illimité
- Si un client en attente est tué, le sémaphore ne sera pas libéré. Il faut donc le libérer avec un shmfree() sur un autre au client (voir aussi l'utilitaire ipcstat).
WEBER Luc
Mon May 10 13:34:58 MET DST 1999