Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Zsh 4.3.12: subshell in midnight commander: precmd: 15: bad file descriptor




Hi,

getting back to this issue, picking up the two patches mentioned in this thread:

http://www.zsh.org/mla/workers/2011/msg00988.html
http://www.zsh.org/mla/workers/2011/msg00994.html

and applying them on top of debian zsh 4.3.12 the problem really disappears.

Thanks a lot for the fix,
Pavel



On Mon, 18 Jul 2011, Peter Stephenson wrote:

On Mon, 18 Jul 2011 10:26:27 +0200
Pavel Reznicek <reznicek@xxxxxxxxxxxxxxxxxxxxxx> wrote:
   after upgrading to zsh 4.3.12 (in debian), I am having problems running
midnight commander in zsh (going back to zsh version 4.3.10 it works
fine). The symptom is that when trying to use the subshell in mc, it
complains about:

precmd: 15: bad file descriptor

and the mc session get hanged. Of course it could be bug in mc and not
zsh, but since this behaviour is not seen with zsh 4.3.10, the zsh updates
since that version can tell what is going on. Browsing the mc source code,
the precmd command defined in there is:

precmd(){ pwd>&%d;kill -STOP $$ }

Would some have an idea why this precmd command would cause the error
message above in connection of the updateds between zsh 4.3.10 and 4.3.12
?

So if it's not (obviously) related to the "stop", we probably need to
know what file descriptor is appearing there.  If it's 1 or 2 there's
not obvious reason for parametrising it.  If it's not, it's not obvious
what it would be --- something opened by mc, presumably, and possibly
getting FD_CLOEXEC set, if the problem only occurs in subshells.

Hmm... if it were the shell terminal output, this fix spotted by Bart
might be relevant:

   * 27134: Src/exec.c, Src/init.c: improve 27131 by setting
     FD_CLOEXEC for SHTTY or closing it by hand when executing.

but SHTTY isn't directly exposed to the shell user (which is why
we're closing it).

pws


Member of the CSR plc group of companies. CSR plc registered in England and Wales, registered number 4187346, registered office Churchill House, Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom
More information can be found at www.csr.com. Follow CSR on Twitter at http://twitter.com/CSR_PLC and read our blog at www.csr.com/blog




Messages sorted by: Reverse Date, Date, Thread, Author