bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: bash-3.2 breaks process substitution


From: Chet Ramey
Subject: Re: bash-3.2 breaks process substitution
Date: Wed, 01 Nov 2006 23:30:49 -0500
User-agent: Thunderbird 1.5.0.7 (Macintosh/20060909)

Roy Marples wrote:

> OS: freebsd6.2

> Bash Version: 3.2
> Patch Level: 3
> Release Status: release
> 
> Description:
>         As in subject, process substitution
> 
> Repeat-By:
>         cat < <(ls)
>         /dev/fd/62: No such file or directory

Thanks for the fix.  The configure test for /dev/fd succeeds on FreeBSD
(testing for /dev/fd/3 after `exec 3</dev/null'), when it should fail.
It should only succeed if you have the fdescfs file system mounted.
The problem is that `configure' concludes that /bin/sh's $LINENO
handling is deficient and uses bash to execute the configure script.
The bash builtin `test' interprets pathnames beginning with /dev/fd
internally, using fstat on the appropriate file descriptor, so this
test succeeds.

This should affect only FreeBSD 5 and 6.

You can fix this in a couple of ways:  Edit config.h to #undef
HAVE_DEV_FD after configure finishes, or set `CONFIG_SHELL=/bin/sh'
before running configure.

I will need to figure out a better test for future versions.

Chet

-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
                       Live Strong.  No day but today.
Chet Ramey, ITS, CWRU    chet@case.edu    http://cnswww.cns.cwru.edu/~chet/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]