aboutsummaryrefslogtreecommitdiff
path: root/examples/timedread.tcl
blob: cb4c9aa1889fb6b9c491a39cfbeae5e944c09a83 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# Tests that SIGALRM can interrupt read
set f [open "/dev/urandom" r]

set count 0
set error NONE

signal handle SIGALRM
catch -signal {
	alarm 0.5
	while {1} {
		incr count [string bytelength [read $f 100]]
	}
	alarm 0
	signal default SIGALRM
} error

puts "Read $count bytes in 0.5 seconds: Got $error"

$f close