I was reviewing bugs for xpra, and came across this one:

> While it is common to redirect stdout (and/or) stderr to /dev/null,
> the better approach is to close that file descriptor prior to call
> xpra (for example xpra info where only the return value is of
> interest).
> 
> But xpra fail in such a case in a strange way. It gives return of 1
> when there is no living socket but when there is a living session, it
> just blocks forever and need to be killed with -9.

Thanks for trying to help improve Debian, but I'm afraid that this is
entirely misconceived.  It is not correct to run any nonconsenting[1]
program on Unix without fds 0, 1 and 2 open.  If you do do so, strange
(even, dangerous) behavour is to be expected.  There is no way that
this could be made to work.

[1] And a consenting program would have to be written very very
carefully.  It could not be written in a scripting language, nor use
the dynamic linker.

I don't know where you (the submitter of this bug) got the idea that
this was a sensible thing to do, but please go back there and tell
them it isn't :-).

If you really don't want the stdout/stderr, redirecting them to
/dev/null is correct.

Ian.

-- 
Ian Jackson <[email protected]>   These opinions are my own.

If I emailed you from an address @fyvzl.net or @evade.org.uk, that is
a private address which bypasses my fierce spamfilter.

Reply via email to