next up previous contents
Next: Formulation de la commande Up: Les bases Previous: Lancer Inter en mode

Réserver un serveur

Comme on l'a vu précédemment, tout accès synchrone à un serveur doit être précédé par une réservation du serveur. On le fait avec la commande shmwait(). Exemple:

 
INTER > shmstat=shmwait()
A ce moment, les sémaphores passent dans l'état suivant:

 
Sem #0 = 0   ncount=0   zcount=0
Sem #1 = 0   ncount=1   zcount=0
Sem #2 = 0   ncount=0   zcount=0
On voit (Sem0 == 0)qu'aucun autre client ne pourra réserver le serveur et que le serveur est toujours en attente de commande (ncount1 == 1).

On peut faire une attente de réservation durant un temps limité. Dans ce cas on précise la durée en secondes comme argument de la fonction. Exemple d'attente de 30 secondes:

 
INTER > shmstat=shmwait(30)
Lorsqu'un timeout survient, le status (ici shmstat) vaut 114 (c'est à dire 100 plus le code du signal SIGALRM (14).



WEBER Luc
Mon May 10 13:34:58 MET DST 1999