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.

