[Python-checkins] Ignore _Py_write_noraise() result: cast to (void) (#108291)

vstinner webhook-mailer at python.org
Tue Aug 22 10:28:25 EDT 2023


https://github.com/python/cpython/commit/6541fe4ad7b96ab96ee5c596b60814a93346dd27
commit: 6541fe4ad7b96ab96ee5c596b60814a93346dd27
branch: main
author: Victor Stinner <vstinner at python.org>
committer: vstinner <vstinner at python.org>
date: 2023-08-22T14:28:20Z
summary:

Ignore _Py_write_noraise() result: cast to (void) (#108291)

Code using _Py_write_noraise() usually cannot report. Ignore errors
is the least surprising behavior for users.

files:
M Modules/faulthandler.c
M Python/pylifecycle.c
M Python/traceback.c
M Python/tracemalloc.c

diff --git a/Modules/faulthandler.c b/Modules/faulthandler.c
index 428b090193f09..d8cfc13a7dc6d 100644
--- a/Modules/faulthandler.c
+++ b/Modules/faulthandler.c
@@ -26,7 +26,7 @@
 /* Allocate at maximum 100 MiB of the stack to raise the stack overflow */
 #define STACK_OVERFLOW_MAX_SIZE (100 * 1024 * 1024)
 
-#define PUTS(fd, str) _Py_write_noraise(fd, str, strlen(str))
+#define PUTS(fd, str) (void)_Py_write_noraise(fd, str, strlen(str))
 
 
 // clang uses __attribute__((no_sanitize("undefined")))
@@ -576,7 +576,7 @@ faulthandler_thread(void *unused)
         /* Timeout => dump traceback */
         assert(st == PY_LOCK_FAILURE);
 
-        _Py_write_noraise(thread.fd, thread.header, (int)thread.header_len);
+        (void)_Py_write_noraise(thread.fd, thread.header, (int)thread.header_len);
 
         errmsg = _Py_DumpTracebackThreads(thread.fd, thread.interp, NULL);
         ok = (errmsg == NULL);
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
index 263ead39fa472..9837e0f0d52e6 100644
--- a/Python/pylifecycle.c
+++ b/Python/pylifecycle.c
@@ -57,7 +57,7 @@
 #  undef BYTE
 #endif
 
-#define PUTS(fd, str) _Py_write_noraise(fd, str, (int)strlen(str))
+#define PUTS(fd, str) (void)_Py_write_noraise(fd, str, (int)strlen(str))
 
 
 #ifdef __cplusplus
diff --git a/Python/traceback.c b/Python/traceback.c
index bddb8763a2f9b..61ace38275355 100644
--- a/Python/traceback.c
+++ b/Python/traceback.c
@@ -25,7 +25,7 @@
 
 #define OFF(x) offsetof(PyTracebackObject, x)
 
-#define PUTS(fd, str) _Py_write_noraise(fd, str, (int)strlen(str))
+#define PUTS(fd, str) (void)_Py_write_noraise(fd, str, (int)strlen(str))
 #define MAX_STRING_LENGTH 500
 #define MAX_FRAME_DEPTH 100
 #define MAX_NTHREADS 100
@@ -1047,7 +1047,7 @@ _Py_DumpDecimal(int fd, size_t value)
         value /= 10;
     } while (value);
 
-    _Py_write_noraise(fd, ptr, end - ptr);
+    (void)_Py_write_noraise(fd, ptr, end - ptr);
 }
 
 /* Format an integer as hexadecimal with width digits into fd file descriptor.
@@ -1072,7 +1072,7 @@ _Py_DumpHexadecimal(int fd, uintptr_t value, Py_ssize_t width)
         value >>= 4;
     } while ((end - ptr) < width || value);
 
-    _Py_write_noraise(fd, ptr, end - ptr);
+    (void)_Py_write_noraise(fd, ptr, end - ptr);
 }
 
 void
@@ -1125,7 +1125,7 @@ _Py_DumpASCII(int fd, PyObject *text)
         }
         if (!need_escape) {
             // The string can be written with a single write() syscall
-            _Py_write_noraise(fd, str, size);
+            (void)_Py_write_noraise(fd, str, size);
             goto done;
         }
     }
@@ -1135,7 +1135,7 @@ _Py_DumpASCII(int fd, PyObject *text)
         if (' ' <= ch && ch <= 126) {
             /* printable ASCII character */
             char c = (char)ch;
-            _Py_write_noraise(fd, &c, 1);
+            (void)_Py_write_noraise(fd, &c, 1);
         }
         else if (ch <= 0xff) {
             PUTS(fd, "\\x");
diff --git a/Python/tracemalloc.c b/Python/tracemalloc.c
index f8ad939dccacc..7d294ea5fe744 100644
--- a/Python/tracemalloc.c
+++ b/Python/tracemalloc.c
@@ -1247,7 +1247,7 @@ tracemalloc_get_traceback(unsigned int domain, uintptr_t ptr)
 }
 
 
-#define PUTS(fd, str) _Py_write_noraise(fd, str, (int)strlen(str))
+#define PUTS(fd, str) (void)_Py_write_noraise(fd, str, (int)strlen(str))
 
 static void
 _PyMem_DumpFrame(int fd, frame_t * frame)



More information about the Python-checkins mailing list