This commit is contained in:
2025-08-13 22:17:04 +03:00
parent 781b430c33
commit 3bcb778628

View File

@@ -210,18 +210,15 @@ PRIVATE_DEFINITION_START(PIProcess)
size_t offset = 0; size_t offset = 0;
while (1) { while (1) {
# ifdef WINDOWS # ifdef WINDOWS
DWORD available = 0; PeekNamedPipe(pipes[pipe_type][PipeRead], nullptr, 0, nullptr, &bytes_read, nullptr);
PeekNamedPipe(pipes[pipe_type][PipeRead], nullptr, 0, nullptr, &available, nullptr); if (bytes_read > 0) {
if (available == 0) {
read_buffer.resize(offset);
break;
}
BOOL ok = ReadFile(pipes[pipe_type][PipeRead], BOOL ok = ReadFile(pipes[pipe_type][PipeRead],
read_buffer.data(offset), read_buffer.data(offset),
piMini(available, read_buffer.size() - offset), piMini(available, read_buffer.size() - offset),
&bytes_read, &bytes_read,
nullptr); nullptr);
if (!ok) bytes_read = 0; if (!ok) bytes_read = 0;
}
# else # else
bytes_read = ::read(pipes[pipe_type][PipeRead], read_buffer.data(offset), read_buffer.size() - offset); bytes_read = ::read(pipes[pipe_type][PipeRead], read_buffer.data(offset), read_buffer.size() - offset);
# endif # endif