]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-129354: Use PyErr_FormatUnraisable() function (#129656)
authorVictor Stinner <vstinner@python.org>
Tue, 4 Feb 2025 15:21:10 +0000 (16:21 +0100)
committerGitHub <noreply@github.com>
Tue, 4 Feb 2025 15:21:10 +0000 (16:21 +0100)
Replace PyErr_WriteUnraisable() with PyErr_FormatUnraisable().

Modules/_io/fileio.c
Modules/_io/iobase.c
Modules/socketmodule.c

index cf0f1d671b507ab985ca01d1b50c86d546dfd3e4..f27f2ed484327172711e2e3883b2ef9162f68047 100644 (file)
@@ -105,8 +105,10 @@ fileio_dealloc_warn(PyObject *op, PyObject *source)
         PyObject *exc = PyErr_GetRaisedException();
         if (PyErr_ResourceWarning(source, 1, "unclosed file %R", source)) {
             /* Spurious errors can appear at shutdown */
-            if (PyErr_ExceptionMatches(PyExc_Warning))
-                PyErr_WriteUnraisable((PyObject *) self);
+            if (PyErr_ExceptionMatches(PyExc_Warning)) {
+                PyErr_FormatUnraisable("Exception ignored "
+                                       "while finalizing file %R", self);
+            }
         }
         PyErr_SetRaisedException(exc);
     }
index 419e5516b5c11ef9c6ff019ecaed0ac37dcc1501..f87043df12689527b11cff8b6beb5082d99f12cf 100644 (file)
@@ -314,7 +314,8 @@ iobase_finalize(PyObject *self)
             PyErr_Clear();
         res = PyObject_CallMethodNoArgs((PyObject *)self, &_Py_ID(close));
         if (res == NULL) {
-            PyErr_WriteUnraisable(self);
+            PyErr_FormatUnraisable("Exception ignored "
+                                   "while finalizing file %R", self);
         }
         else {
             Py_DECREF(res);
index b178eb42ac8e6ab83062f8edb18c49854d4c6c31..4b6d2dd1c5fc7b392bb27999db73023f7774ad8f 100644 (file)
@@ -5359,7 +5359,8 @@ sock_finalize(PyObject *self)
         if (PyErr_ResourceWarning((PyObject *)s, 1, "unclosed %R", s)) {
             /* Spurious errors can appear at shutdown */
             if (PyErr_ExceptionMatches(PyExc_Warning)) {
-                PyErr_WriteUnraisable((PyObject *)s);
+                PyErr_FormatUnraisable("Exception ignored while "
+                                       "finalizing socket %R", s);
             }
         }