aboutsummaryrefslogtreecommitdiffstats
path: root/extension/testfork.awk
diff options
context:
space:
mode:
Diffstat (limited to 'extension/testfork.awk')
-rw-r--r--extension/testfork.awk20
1 files changed, 20 insertions, 0 deletions
diff --git a/extension/testfork.awk b/extension/testfork.awk
new file mode 100644
index 00000000..ca00dca8
--- /dev/null
+++ b/extension/testfork.awk
@@ -0,0 +1,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"]
+ }
+}