summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libs/installer/adminauthorization_x11.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/libs/installer/adminauthorization_x11.cpp b/src/libs/installer/adminauthorization_x11.cpp
index 063f9a84e..cab62a32f 100644
--- a/src/libs/installer/adminauthorization_x11.cpp
+++ b/src/libs/installer/adminauthorization_x11.cpp
@@ -206,6 +206,19 @@ bool AdminAuthorization::execute(QWidget *parent, const QString &program, const
::usleep(100000);
}
+ while (true) {
+ errBytes = ::read(pipedData[0], errBuf, 1023);
+ if (errBytes == -1 && errno == EAGAIN) {
+ ::usleep(100000);
+ continue;
+ }
+
+ if (errBytes <= 0)
+ break;
+
+ errData.append(errBuf, errBytes);
+ }
+
const bool success = statusValid && WIFEXITED(status) && WEXITSTATUS(status) == 0;
if (!success && !errData.isEmpty()) {