Hello Pavel, Am 2007-11-21 21:06:17, schrieb Pavel Tsekov:
Ok. Yes - it is really hard to fix. You've been around for many years now so I'd expect you to know more about this issue. Anyway...
...
What makes this problem really hard to fix is that MC doesn't really know what's going on the subshell side. The subshell code is all about passing user input to the shell and reading its output. There is a bit of code dealing with prompt retrieval and some state tracking. MC employes a feature of the shells it supports to understand when the shell has completed executing a command - it sets up thing so that a STOP signal is send to the shell just before it displays each prompt. Sending a STOP signal triggers the OS to send a SIGCHLD signal to MC - when it gets the signal it knows that the subshell completed executing its task.
The problem is, sometimes it is working and sometimes not. So, if I run a Shell-Script, I exit the script explicit with an exit 0 of another Exit-Code. It seems, the "exit" at the end of a script CAN SOLV the problem partialy.
Now... Most of the time it is not apparent to the people complaining about this issue why MC presents a dialog box and this makes it especially irritating. It is not obvious because for some reason, while in the subshell they typed something, but their input didn't get executed by the subshell and the subshell is waiting for more input - so everything seems normal but they still get the nasty message. Now.. there is no real fix in this situation. We cannot just discard
..and it seems, that they are programs which won't run in a DUMB terminal and THEY NEED a tty. So, if you switch back to "mc" the program become confused and is blocking the sub-shell.
the pending input. We cannot send the new command to the subshell since it just won't work or even worse it could cause unpredictable results. It would be easier if the subshell did some kind of input parsing but then it would become overly complicated... The most simple solution would be to pass input once the code sees a newline but then features like Tab-completion and others won't work and people will start complaining about that. It really is not that simple to fix it. And it really isn't and error.
FullACK! Thanks, Greetings and nice Day Michelle Konzack Tamay Dogan Network Open Hardware Developer Debian GNU/Linux Consultant -- Linux-User #280138 with the Linux Counter, http://counter.li.org/ ##################### Debian GNU/Linux Consultant ##################### Michelle Konzack Apt. 917 ICQ #328449886 50, rue de Soultz MSN LinuxMichi 0033/6/61925193 67100 Strasbourg/France IRC #Debian (irc.icq.com)
Attachment:
signature.pgp
Description: Digital signature