====== close ======
Ferme un canal ouvert.
===== Syntaxe =====
close channelId
===== Description =====
Ferme le canal donné par channelId. ChannelId doit être un identificateur de canal tel que la valeur de retour d'une précédente commande open ou socket. Tout le tampon de sortie est vidé dans le périphérique de sortie du canal, Tout ce qu'il y a dans le tampon d'entrée est éliminé, le fichier ou périphérique sous-jacent est fermé, et channelId devient inutilisable.
Si le canal est bloquant, la commande ne retourne pas jusqu'à ce que toute sortie soit vidée. Si le canal est non bloquant et qu'il reste des données à émettre, le canal reste ouvert et la commande retourne immédiatement ; la sortie sera vidée en arrière-plan et le canal sera fermé quand toutes les données auront été flushées.
Si channelId est un canal bloquant pour une commande pipeline alors close attend que les processus enfants soient terminés.
Si le canal est partagé entre des interpréteurs, alors close rend channelId indisponible pour l'interpréteur appelant mais n'a pas autre effet jusqu’à ce que tous les interpréteurs aient fermé le canal. Quand le dernier interpréteur dans lequel le canal est déclaré appelle close, les actions de nettoyage décrites plus haut se déclenchent. Voir la commande interp pour une description du partage de canal.
Les canaux sont automatiquement fermés quand un interpréteur est détruit et quand le processus se termine. Les canaux sont passent en mode bloquant, pour s'assurer que toute sortie est correctement vidée avant que le processus se termine.
La commande renvoie une chaîne vide, et peut générer une erreur si une erreur se produit pendant le flushing de sortie.
===== Exemples =====
===== Voir aussi =====
[[:tcl:open]], [[:tcl:read]], [[:tcl:puts]]
{{tag>tcl}}