diff options
author | Steve Bennett <steveb@workware.net.au> | 2023-02-01 14:33:41 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2023-02-13 10:44:10 +1000 |
commit | 6778c36ca8204d45fdaef06cf54c094f75689e26 (patch) | |
tree | 3f1a0c76ee29b1c7020be606868f91e14917544f /examples | |
parent | 97c305635eb1552ad373c7e0a835b6069fd79312 (diff) | |
download | jimtcl-6778c36ca8204d45fdaef06cf54c094f75689e26.zip jimtcl-6778c36ca8204d45fdaef06cf54c094f75689e26.tar.gz jimtcl-6778c36ca8204d45fdaef06cf54c094f75689e26.tar.bz2 |
vwait -signal docs and test script
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'examples')
-rw-r--r-- | examples/vwaitsignal.tcl | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/examples/vwaitsignal.tcl b/examples/vwaitsignal.tcl new file mode 100644 index 0000000..d59879a --- /dev/null +++ b/examples/vwaitsignal.tcl @@ -0,0 +1,26 @@ +# In lieu of some proper unit tests, this example +# checks that vwait can be interrupted by handled signals + +set f [open "/dev/urandom" r] + +set count 0 + +$f ndelay 1 + +signal handle SIGALRM + +$f readable { + incr count [string bytelength [read $f 100]] +} + + +set start [clock millis] + +# Even though nothing sets 'done', vwait will return on the signal +alarm 0.5 +vwait -signal done + +set end [clock millis] +puts "Read $count bytes and received [signal check -clear] after $($end - $start)ms" + +$f close |