This patch provides a fix for the case when there is an exception in a non-main thread in text mode. It is impossible to run the exception handler in the non-main thread for many reasons. It competes with the main thread for standard input, it cannot run libreport because libreport forks, it cannot quit the installer because the main thread would still be running and probably something else I didn't hit yet. This builds on Martin's patch for processing our message queue in text mode.
The only remaining problem is, that when the main thread runs raw_input another call of raw_input from the exception handler is blocked until the first one is finished. Thus one needs to hit ENTER before entering any input for the exception handler. This can be fixed by telling python-meh's exception handler that it should use our raw_input instead of the built-in one but I am leaving this for an additional patch as it needs some changes in python-meh (and thus new build).
Vratislav Podzimek (1): Run exception handling in the main thread also in TUI
anaconda | 4 ++- pyanaconda/exception.py | 74 ++++++++++++++++++++++++++++++++----------- pyanaconda/ui/tui/__init__.py | 7 ++-- 3 files changed, 64 insertions(+), 21 deletions(-)