diff options
author | Andrew J. Schorr <aschorr@telemetry-investments.com> | 2012-04-02 22:36:42 -0400 |
---|---|---|
committer | Andrew J. Schorr <aschorr@telemetry-investments.com> | 2012-04-02 22:36:42 -0400 |
commit | caaf36c8363f9280433f37615ec41d606281136e (patch) | |
tree | 558fbae4c7c57a841a062ea4770f30f8db729275 /extension/fork.c | |
parent | f53d7e7b6afd4fbbc00c89a19d595c29998633c6 (diff) | |
download | egawk-caaf36c8363f9280433f37615ec41d606281136e.tar.gz egawk-caaf36c8363f9280433f37615ec41d606281136e.tar.bz2 egawk-caaf36c8363f9280433f37615ec41d606281136e.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); } |