diff --git a/src/process.cpp b/src/process.cpp index 35001b9..8d76cfc 100644 --- a/src/process.cpp +++ b/src/process.cpp @@ -706,6 +706,8 @@ void process::on_completed() code_ = 0xffff; } + read_pipes(false); + for (;;) { read_pipes(true); diff --git a/src/process.h b/src/process.h index ba3456d..9be4693 100644 --- a/src/process.h +++ b/src/process.h @@ -137,14 +137,17 @@ private: } } - if (line.empty() && finished) + if (line.empty()) { - line = { - reinterpret_cast(bytes.data() + byte_offset), - size - byte_offset - }; + if (finished) + { + line = { + reinterpret_cast(bytes.data() + byte_offset), + size - byte_offset + }; - byte_offset = bytes.size(); + byte_offset = bytes.size(); + } } else {