aboutsummaryrefslogtreecommitdiffstats
path: root/extension/testfork.awk
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2010-07-16 13:09:56 +0300
committerArnold D. Robbins <arnold@skeeve.com>2010-07-16 13:09:56 +0300
commitbc70de7b3302d5a81515b901cae376b8b51d2004 (patch)
treed36d6743e65697f6923b79d0ea8f9f9bf4ef7398 /extension/testfork.awk
parentb9e4a1fd4c8c8753ab8a9887bab55f03efe1e3e2 (diff)
downloadegawk-bc70de7b3302d5a81515b901cae376b8b51d2004.tar.gz
egawk-bc70de7b3302d5a81515b901cae376b8b51d2004.tar.bz2
egawk-bc70de7b3302d5a81515b901cae376b8b51d2004.zip
Move to gawk-3.1.0.
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"]
+ }
+}