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



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