From 891c797c4b1a2fa98bf0bc7ab95d72ad9cf92350 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Wed, 9 Dec 2020 14:03:46 +0100 Subject: [PATCH] simplify feeding synchronous processes QProcess is fully buffered, so there is no point in trying to feed it chunk-wise. amends 25264d9b. Change-Id: Ie1a32a6ac56f8e21a452b26dfaca4237d3f08d9f Reviewed-by: Orgad Shaneh --- src/libs/utils/synchronousprocess.cpp | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/src/libs/utils/synchronousprocess.cpp b/src/libs/utils/synchronousprocess.cpp index 9f52033e437..e4fb015070b 100644 --- a/src/libs/utils/synchronousprocess.cpp +++ b/src/libs/utils/synchronousprocess.cpp @@ -482,16 +482,7 @@ SynchronousProcessResponse SynchronousProcess::run(const CommandLine &cmd, d->m_process.setProgram(cmd.executable().toString()); d->m_process.setArguments(cmd.splitArguments()); connect(&d->m_process, &QProcess::started, this, [this, writeData] { - if (!writeData.isEmpty()) { - int pos = 0; - int sz = writeData.size(); - do { - d->m_process.waitForBytesWritten(); - auto res = d->m_process.write(writeData.constData() + pos, sz - pos); - if (res > 0) pos += res; - } while (pos < sz); - d->m_process.waitForBytesWritten(); - } + d->m_process.write(writeData); d->m_process.closeWriteChannel(); }); d->m_process.start(writeData.isEmpty() ? QIODevice::ReadOnly : QIODevice::ReadWrite);