diff options
author | Alexander Færøy <ahf@torproject.org> | 2018-12-20 13:12:53 +0100 |
---|---|---|
committer | Alexander Færøy <ahf@torproject.org> | 2018-12-20 13:12:53 +0100 |
commit | 776208896756651519fd6540103c73a369b6d485 (patch) | |
tree | cd702201ef94ca7400853b4931eb985d2ff19f3b /src/lib/process | |
parent | 412fbe9f177f742e0e56df612f44261f6771973a (diff) | |
download | tor-776208896756651519fd6540103c73a369b6d485.tar.gz tor-776208896756651519fd6540103c73a369b6d485.zip |
No need to log ordinary EOF conditions as LOG_WARN.
Let's not use log_warn() when a pipe is closed under what should be
considered normal conditions.
See: https://bugs.torproject.org/28179
Diffstat (limited to 'src/lib/process')
-rw-r--r-- | src/lib/process/process_win32.c | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/src/lib/process/process_win32.c b/src/lib/process/process_win32.c index 641af2bb0f..d8a895875c 100644 --- a/src/lib/process/process_win32.c +++ b/src/lib/process/process_win32.c @@ -365,8 +365,17 @@ process_win32_write(struct process_t *process, buf_t *buffer) process_win32_stdin_write_done); if (! ret) { - log_warn(LD_PROCESS, "WriteFileEx() failed: %s", - format_win32_error(GetLastError())); + error_code = GetLastError(); + + /* No need to log at warning level for these two. */ + if (error_code == ERROR_HANDLE_EOF || error_code == ERROR_BROKEN_PIPE) { + log_debug(LD_PROCESS, "WriteFileEx() returned EOF from pipe: %s", + format_win32_error(error_code)); + } else { + log_warn(LD_PROCESS, "WriteFileEx() failed: %s", + format_win32_error(error_code)); + } + win32_process->stdin_handle.reached_eof = true; return 0; } @@ -897,8 +906,17 @@ process_win32_read_from_handle(process_win32_handle_t *handle, callback); if (! ret) { - log_warn(LD_PROCESS, "ReadFileEx() failed: %s", - format_win32_error(GetLastError())); + error_code = GetLastError(); + + /* No need to log at warning level for these two. */ + if (error_code == ERROR_HANDLE_EOF || error_code == ERROR_BROKEN_PIPE) { + log_debug(LD_PROCESS, "ReadFileEx() returned EOF from pipe: %s", + format_win32_error(error_code)); + } else { + log_warn(LD_PROCESS, "ReadFileEx() failed: %s", + format_win32_error(error_code)); + } + handle->reached_eof = true; return bytes_available; } |