diff options
author | Andrew J. Schorr <aschorr@telemetry-investments.com> | 2012-04-02 22:36:26 -0400 |
---|---|---|
committer | Andrew J. Schorr <aschorr@telemetry-investments.com> | 2012-04-02 22:36:26 -0400 |
commit | aa23de50eb7c81a3e8f94769c5288aecfeb52b4c (patch) | |
tree | 948ac542b0ba014af663d8dc782ac8f0a8494211 /extension/fork.c | |
parent | d6d6a4ac9c6eb33a71595fd596b9a8f2db6444b7 (diff) | |
download | egawk-aa23de50eb7c81a3e8f94769c5288aecfeb52b4c.tar.gz egawk-aa23de50eb7c81a3e8f94769c5288aecfeb52b4c.tar.bz2 egawk-aa23de50eb7c81a3e8f94769c5288aecfeb52b4c.zip |
Minor extension fixes.
Diffstat (limited to 'extension/fork.c')
-rw-r--r-- | extension/fork.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/extension/fork.c b/extension/fork.c index 8b8558e6..7d6ab362 100644 --- a/extension/fork.c +++ b/extension/fork.c @@ -45,15 +45,17 @@ do_fork(int nargs) if (ret < 0) update_ERRNO_int(errno); - else if (ret == 0) { + else if (ret == 0 && PROCINFO_node != NULL) { /* update PROCINFO in the child */ aptr = assoc_lookup(PROCINFO_node, tmp = make_string("pid", 3)); - (*aptr)->numbr = (AWKNUM) getpid(); + unref(*aptr); + *aptr = make_number((AWKNUM) getpid()); unref(tmp); aptr = assoc_lookup(PROCINFO_node, tmp = make_string("ppid", 4)); - (*aptr)->numbr = (AWKNUM) getppid(); + unref(*aptr); + *aptr = make_number((AWKNUM) getppid()); unref(tmp); } |