summaryrefslogtreecommitdiff
path: root/extension/testfork.awk
blob: ca00dca8c5204de5c381505738fd787ebc2ab5b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
BEGIN {
	extension("./fork.so", "dlload")

	printf "before fork, pid = %d, ppid = %d\n", PROCINFO["pid"],
			PROCINFO["ppid"]

	fflush()
	ret = fork()
	if (ret < 0)
		printf("ret = %d, ERRNO = %s\n", ret, ERRNO)
	else if (ret == 0)
		printf "child, pid = %d, ppid = %d\n", PROCINFO["pid"],
			PROCINFO["ppid"]
	else {
		system("sleep 3")
		printf "parent, ret = %d\n", ret
		printf "parent, pid = %d, ppid = %d\n", PROCINFO["pid"],
			PROCINFO["ppid"]
	}
}