Fix hang on a lot of output from a program

Authored by sandsmark on Jun 3 2017, 5:53 PM.

Description

Fix hang on a lot of output from a program

Summary:
There is a bug in the Qt glib event loop leading to timers never being
able to deliver signals.

Work around this by disabling the glib event loop.

References:
http://lists.qt-project.org/pipermail/interest/2015-September/018846.html
https://bugreports.qt.io/browse/QTBUG-48344

Test plan:
From the referenced bug:

Stefan Westerfeld 2010-03-10 11:40:24 UTC
Running the following program within konsole:

    #include <stdio.h>

    int
    main()
    {
      for (int i = 0; i < 100000000; i++)
        {
          fprintf (stderr, "foo %d\n", i);
        }
    }

leads to a freeze - not single message is printed - no reaction on
return. Only after a long time (30 seconds) something happens.

If I run the same program in an xterm, the messages are scrolling
through, as I would expect from that kind of output.

Reviewers: Konsole, hindenburg

Reviewed By: Konsole, hindenburg

Subscribers: hindenburg

Tags: Konsole

Differential Revision: https://phabricator.kde.org/D6078

BUG: 230184

Details

Committed
sandsmarkJul 16 2018, 11:46 AM
Reviewer
Konsole
Differential Revision
D6078: Fix hang on a lot of output from a program
Parents
R319:fcea6742c142: Move search line upper bound check to less generic function
Branches
Unknown
Tags
Unknown