- Red Hat Enterprise Linux 5
- tcsh-6.14-12.el5 or newer
Subshells created via
`cmd` may be launched after forking twice. This can cause programs that depend on information from
getppid() to fail.
This issue should be resolved in
tcsh-6.14-17.el5_5.2, released by Advisory RHBA-2010:0823-1. To resolve this issue, please upgrade to the latest version of
tcsh available for Red Hat Enterprise Linux 5.
The following bit of code was removed from
861 if (t) 862 t->t_dflg |= F_NOFORK;
The code above prevents
tcsh from forking a new process when evaluating command substitutions in backquotes ("
"). Removal of that code causedtcsh` to fork an extra process before running the command.
Run a command like the following in tcsh:
echo `pstree -p $$`
In Red Hat Enterprise Linux 4 (
tcsh-6.13), something like the following should be output:
Red Hat Enterprise Linux 5 (
tcsh-6.14) should print something like the following:
The output from the command in Red Hat Enterprise Linux 5 shows that
tcsh is forking twice before running the
pstree command, whereas the output in Red Hat Enterprise Linux 4 shows that
tcsh is only forking once.
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.