On peut donner des timeout pour l'attente de réservation (shmwait()) et pour l'attente de fin de d'exécution sur serveur (shmwack()). Dans le cas d'un timeout le status de la fonction vaut 114. Pour le traitement du timeout du shmwack() il est préférable de libérer (sous condition) le serveur en testant s'il est vraiment toujours notre serveur (s'il a crashé il ne l'est plus!). Par exemple:
shmstat=shmwait() if shmstat.eq.114 then erreur /set "timeout" endif ... shmstat=shmwack() if shmstat.eq.114 then if srvwait() shmstat=shmfree() erreur /set "timeout" endif