File: close_status.awk

package info (click to toggle)
gawk 1%3A5.2.1-2
  • links: PTS
  • area: main
  • in suites: bookworm, trixie
  • size: 25,256 kB
  • sloc: ansic: 54,687; awk: 14,521; yacc: 6,814; sh: 6,418; makefile: 3,004; sed: 119; python: 31; csh: 6
file content (20 lines) | stat: -rw-r--r-- 518 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
BEGIN {
	exit9 = "echo red; exit 9"
	while ((exit9 | getline x) > 0)
		print x
	printf "close(%s) returned %s\n", exit9, close(exit9)

	# run it again, but don't reap the exit status
	while ((exit9 | getline x) > 0)
		print x

	exit0 = "echo blue; exit 0"
	while ((exit0 | getline x) > 0)
		print x
	# reap status out of order
	printf "close(%s) returned %s\n", exit0, close(exit0)

	# check that we got the correct status from the previously
	# exited process
	printf "close(%s) returned %s\n", exit9, close(exit9)
}