Bug 728900 - wait fails on pid of co-process
Summary: wait fails on pid of co-process
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: ksh
Version: 6.0
Hardware: x86_64
OS: Linux
medium
high
Target Milestone: rc
: ---
Assignee: Michal Hlavinka
QA Contact: qe-baseos-tools
URL:
Whiteboard:
Depends On: 726199 1243788 1243789
Blocks: 799362
TreeView+ depends on / blocked
 
Reported: 2011-08-08 10:49 UTC by Michal Hlavinka
Modified: 2015-07-16 10:06 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of: 726199
: 799362 (view as bug list)
Environment:
Last Closed: 2011-12-06 16:25:07 UTC


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2011:1647 normal SHIPPED_LIVE ksh bug fix update 2011-12-06 00:50:33 UTC

Description Michal Hlavinka 2011-08-08 10:49:58 UTC
+++ This bug was initially created as a clone of Bug #726199 +++

Description of problem:

Performing a wait on the pid of a co-process fails in the following circumstance:
    #! /bin/ksh

    ls -l |&
    pid=$!

    tee -a /tmp/out <&p

    wait $pid
    print $?

The wait's return value is always 127.  It does not matter whether the co-process exits with a successful value (e.g., "ls -l") or an unsuccessful value (e.g., "ls -l does-not-exist"); 127 is always returned.

POSIX documentation on wait(1) (http://pubs.opengroup.org/onlinepubs/009695399/utilities/wait.html) states "If one or more pid operands are specified that represent unknown process IDs, wait shall treat them as if they were known process IDs that exited with exit status 127" and later on (in "Exit Status") indicates that 127 is returned only if "[t]he command identified by the last pid operand specified is unknown."

We are porting our application to Linux and ran across this problem.  The sample code works correctly under the Korn shell (ksh88) supplied by AIX, HP-UX, and Solaris.  It also works correctly under the pdksh-5.2.14-30.6 distributed with RHEL 4.8.


Version-Release number of selected component (if applicable):

I've compiled a number of different ksh SRPMS.  The problem is present in ksh-20100202-1.el5 and persists in ksh-20100202-1.el5_6.6, as well in ksh-20100621-2.el6 and ksh-20100621-6.el6.  However, the problem is not present in ksh-20080202-2.el5 or ksh-20080202-2.el5_3.1.


How reproducible:
Always

Steps to Reproduce:
Run sample code above.
  
Actual results:
Return value of wait is always 127.

Expected results:
wait returns status of specified command

Comment 4 errata-xmlrpc 2011-12-06 16:25:07 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2011-1647.html


Note You need to log in before you can comment on or make changes to this bug.