>
> > Doesn't this suppress a diagnostic that is likely to be valuable to
> anyone who
> > accidentally runs an affected tool from a context with closed standard
> output?
> Yes it's not ideal.
> Also it doesn't map directly to closed stdout.
> If we were to support it then --no-stdout would probably be best.
> That would allow symmetric use of processing substitutions also.
> i.e. tee --no-stdout >(cmd1) >(cmd2)
> rather than the slightly awkward: tee --no-stdout >(cmd1) | cmd2


This is exactly my point of view as well. If we want to support it we
should do this right. I consider both >&- and >/dev/full as workarounds. I
think that --no-stdout is the best solution for this.

Jirka

On Fri, Nov 20, 2015 at 7:08 PM, Eric Blake <ebl...@redhat.com> wrote:

> On 11/20/2015 10:38 AM, Bernhard Voelker wrote:
> > On 11/20/2015 01:08 PM, Pádraig Brady wrote:
> >> +  tee no longer diagnoses write errors to a closed standard output, as
> this
> >> +  can be useful when further piping the output from process
> substitutions.
> >
> > I'm not sure this is allowed by POSIX,
>
> POSIX says you are non-conforming the moment you start an application
> with fd 0, 1, or 2 closed, and that all bets are off (so we can do
> whatever we think makes the most sense, but if it is more than just tee
> with stdout closed we may be aggravating the problem).
>
> --
> Eric Blake   eblake redhat com    +1-919-301-3266
> Libvirt virtualization library http://libvirt.org
>
>

Reply via email to