Issue #21393: random.c: on Windows, close the hCryptProv handle at exit
diff --git a/Python/random.c b/Python/random.c
index 2941ba1..b04d205 100644
--- a/Python/random.c
+++ b/Python/random.c
@@ -15,8 +15,6 @@
 #endif
 
 #ifdef MS_WINDOWS
-/* This handle is never explicitly released. Instead, the operating
-   system will release it when the process terminates. */
 static HCRYPTPROV hCryptProv = 0;
 
 static int
@@ -298,7 +296,12 @@
 void
 _PyRandom_Fini(void)
 {
-#ifndef MS_WINDOWS
+#ifdef MS_WINDOWS
+    if (hCryptProv) {
+        CloseHandle(hCryptProv);
+        hCryptProv = 0;
+    }
+#else
     dev_urandom_close();
 #endif
 }