try 2
This commit is contained in:
@@ -210,18 +210,15 @@ PRIVATE_DEFINITION_START(PIProcess)
|
||||
size_t offset = 0;
|
||||
while (1) {
|
||||
# ifdef WINDOWS
|
||||
DWORD available = 0;
|
||||
PeekNamedPipe(pipes[pipe_type][PipeRead], nullptr, 0, nullptr, &available, nullptr);
|
||||
if (available == 0) {
|
||||
read_buffer.resize(offset);
|
||||
break;
|
||||
}
|
||||
PeekNamedPipe(pipes[pipe_type][PipeRead], nullptr, 0, nullptr, &bytes_read, nullptr);
|
||||
if (bytes_read > 0) {
|
||||
BOOL ok = ReadFile(pipes[pipe_type][PipeRead],
|
||||
read_buffer.data(offset),
|
||||
piMini(available, read_buffer.size() - offset),
|
||||
&bytes_read,
|
||||
nullptr);
|
||||
if (!ok) bytes_read = 0;
|
||||
}
|
||||
# else
|
||||
bytes_read = ::read(pipes[pipe_type][PipeRead], read_buffer.data(offset), read_buffer.size() - offset);
|
||||
# endif
|
||||
|
||||
Reference in New Issue
Block a user