Blob Blame History Raw
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)
}