summaryrefslogtreecommitdiff
path: root/test/timeout.awk
blob: ccf4537d19dae0c77a0f8d7e319d7efc3f0061eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
BEGIN {
	cmd = "echo hello; sleep 1; echo goodbye"

	print "With timeouts"
	PROCINFO[cmd, "READ_TIMEOUT"] = 300
	while ((rc = (cmd | getline x)) > 0)
		print x
	if (rc < 0)
		print rc, (PROCINFO["errno"] != 0), (ERRNO != "")
	print (close(cmd) != 0)

	PROCINFO[cmd, "RETRY"]
	print ""
	print "With timeouts and retries"
	while (((rc = (cmd | getline x)) > 0) || (rc == -2)) {
		if (rc > 0) {
			print x
			n = 0
		}
		else
			print ++n, "timed out; trying again"
	}
	if (rc < 0)
		print rc, (PROCINFO["errno"] != 0), (ERRNO != "")
	print (close(cmd) != 0)
}