bug-bash
[Top][All Lists]
Advanced

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

Re: leaks fd for internal functions but not external command


From: Chet Ramey
Subject: Re: leaks fd for internal functions but not external command
Date: Tue, 23 Jul 2019 11:45:23 -0400
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0) Gecko/20100101 Thunderbird/60.8.0

On 7/23/19 11:40 AM, Sam Liddicott wrote:
> 
> On Tue, 23 Jul 2019 at 16:35, Chet Ramey <address@hidden
> <mailto:address@hidden>> wrote:
> 
>     On 7/23/19 11:20 AM, Sam Liddicott wrote:
>     >
>     > On Tue, 23 Jul 2019 at 16:15, Sam Liddicott <address@hidden
>     <mailto:address@hidden>
>     > <mailto:address@hidden <mailto:address@hidden>>> wrote:
>     >
>     >
>     >
>     >     On Tue, 23 Jul 2019 at 16:13, Chet Ramey <address@hidden
>     <mailto:address@hidden>
>     >     <mailto:address@hidden <mailto:address@hidden>>> wrote:
>     >
>     >         On 7/23/19 11:11 AM, Sam Liddicott wrote:
>     >
>     >         > The report concerns the different behaviour with internal and
>     >         external
>     >         > operations.
>     >
>     >         Right. The close-on-exec is deliberate. That's how it was
>     intended.
>     >
>     >
>     >     Doesn't close-on-exec usually takes effect only on the process that
>     >     does the exec?
>     >     i.e. the fork that does the exec, not the parent process?
>     >
>     >
>     > It got closed in the parent. The lsof is running for the parent, the 
> main
>     > process. /bin/echo has quit before the lsof runs.
> 
>     You mean case 2 in your original post? That's because redirections are
>     performed in the child process forked to run /bin/echo, so the fd never
>     exists in the parent process. I thought you were talking about case 1,
>     with the builtin echo.
> 
> 
> No doubt, but this report concerns the inconsistency.
> 
> Is using {xxx}>... suppose to give me a file handle I can use as I wish (as
> you say), or not?

So the difference is between cases 1 and 3? That's the difference between
using the {var} syntax and using an explicit file descriptor.

-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU    address@hidden    http://tiswww.cwru.edu/~chet/



reply via email to

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