Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com Message-ID: From: "Lasslop, Andre" To: cygwin AT sourceware DOT cygnus DOT com Subject: expect does not timeout Date: Wed, 8 Sep 1999 15:56:45 +0200 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2448.0) Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id JAA03307 Hi all, I got a problem with a simple expect-script for controlling a serial I/O driver with a command line interface via readline. The part of the command script which makes the problem is the following : set timeout 1 expect { -i $RS_ID -re " ff .. 60" { exp_send_user "Message 1.\n" exp_continue } -re "^T> " { exp_send_user "Unknown Msg.\n" exp_continue } timeout { } eof { } } The driver ($RS_ID) has spawned and receives some messages which were printed to stdout as hex-dump. Expect detects the Messages and prints the corresponding name to the user. If no more messages arrive, the script should detect a timeout (after 1 second for this example) and go away. But after the correct message detection does the script hang and do not detect the timeout. I tried the following construct : set timeout 1 expect { -i $RS_ID timeout -re " ff .. 60" { exp_send_user "Message 1.\n" exp_continue } -re "^T> " { exp_send_user "Unknown Msg.\n" exp_continue } } This detects the timeout but leads to an error cause the "-re ..." construct is interpreted as the command. If I include "timeout {}" instead the script does stop as before. I'm using cygwin b20.1. The expect version is 5.26. Tcl is 8.0p2. Any suggestions ? Thanks André Lasslop -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com