Issue #23524: Change back to using Windows errors for _Py_fstat instead of the errno shim.
diff --git a/Modules/signalmodule.c b/Modules/signalmodule.c
index 598bc8a..3ad8ebb 100644
--- a/Modules/signalmodule.c
+++ b/Modules/signalmodule.c
@@ -560,7 +560,7 @@
             }
 
             if (_Py_fstat(fd, &st) != 0) {
-                PyErr_SetFromErrno(PyExc_OSError);
+                PyErr_SetExcFromWindowsErr(PyExc_OSError, GetLastError());
                 return NULL;
             }