commit 776208896756651519fd6540103c73a369b6d485
parent 412fbe9f177f742e0e56df612f44261f6771973a
Author: Alexander Færøy <ahf@torproject.org>
Date: Thu, 20 Dec 2018 13:12:53 +0100
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:
1 file changed, 22 insertions(+), 4 deletions(-)
diff --git 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;
}