Y a-t-il un moyen dans TCL d'inclure un morceau de code dans un bloc de timeout? Ce que je veux dire par là, c'est que le bloc sortira après un délai d'attente particulier même si l'exécution n'est pas terminée. Par exemple: -timeout utilisant TCL
timeout (interval) {
#wait for socket connection here
}
Si aucune connexion est établie dans l'intervalle de temps, les sorties de bloc.
Merci et salutations, Anjali
Salut Byron, merci pour la réponse. J'aurais dû être plus précis dans la question. Ce que je dois réellement faire est d'envoyer des données via l'interface UART à mon appareil sous test et parfois le script se bloque en faisant cela. J'ai besoin d'interrompre le script/bloc dans ce cas. Je pensais qu'un bloc de délai d'attente aidera. Des idées quoi d'autre que je peux faire? – Anjali
Vous devriez être capable d'adapter le code ci-dessus pour ce faire. Ajoutez simplement votre code pour faire la connexion UART entre 'after' et' vwait'. Avoir les résultats vont dans l'état. Après le 'vwait', fermez la connexion UART. Regardez de plus près le code ci-dessus et il devrait être clair. –
vwait + après ne pas résoudre la question générique proposée. La solution ne fonctionne que dans le cas spécifique du besoin d'Anjali, et seulement si on utilise des E/S non bloquantes comme mentionné par Byron. Vérifiez ma question/réponse pour comprendre pourquoi: http://stackoverflow.com/questions/23096240/tcl-vwait-and-after-not-as-expected Je suis toujours à la recherche d'un moyen de mettre en œuvre cela, si quelqu'un sait ... :) – msb