summaryrefslogtreecommitdiff
path: root/Modules/socketmodule.c
diff options
context:
space:
mode:
authorMax Bachmann <kontakt@maxbachmann.de>2023-03-01 01:31:21 +0100
committerGitHub <noreply@github.com>2023-03-01 00:31:21 +0000
commit938e36f824c5f834d6b77d47942ad81edd5491d0 (patch)
tree50995f866619e76b3ce900c60859ab64e4e0621c /Modules/socketmodule.c
parent360ef843d8fc03aad38ed84f9f45026ab08ca4f4 (diff)
downloadcpython-git-938e36f824c5f834d6b77d47942ad81edd5491d0.tar.gz
gh-102336: Remove code specifically for handling Windows 7 (GH-102337)
Diffstat (limited to 'Modules/socketmodule.c')
-rw-r--r--Modules/socketmodule.c42
1 files changed, 10 insertions, 32 deletions
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index 00608be38f..43a0cc0f96 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -606,11 +606,6 @@ select_error(void)
# define SUPPRESS_DEPRECATED_CALL
#endif
-#ifdef MS_WINDOWS
-/* Does WSASocket() support the WSA_FLAG_NO_HANDLE_INHERIT flag? */
-static int support_wsa_no_inherit = -1;
-#endif
-
/* Convenience function to raise an error according to errno
and return a NULL pointer from a function. */
@@ -5342,6 +5337,13 @@ sock_initobj_impl(PySocketSockObject *self, int family, int type, int proto,
set_error();
return -1;
}
+
+ if (!SetHandleInformation((HANDLE)fd, HANDLE_FLAG_INHERIT, 0)) {
+ closesocket(fd);
+ PyErr_SetFromWindowsErr(0);
+ return -1;
+ }
+
family = info.iAddressFamily;
type = info.iSocketType;
proto = info.iProtocol;
@@ -5438,33 +5440,15 @@ sock_initobj_impl(PySocketSockObject *self, int family, int type, int proto,
#endif
Py_BEGIN_ALLOW_THREADS
- if (support_wsa_no_inherit) {
- fd = WSASocketW(family, type, proto,
- NULL, 0,
- WSA_FLAG_OVERLAPPED | WSA_FLAG_NO_HANDLE_INHERIT);
- if (fd == INVALID_SOCKET) {
- /* Windows 7 or Windows 2008 R2 without SP1 or the hotfix */
- support_wsa_no_inherit = 0;
- fd = socket(family, type, proto);
- }
- }
- else {
- fd = socket(family, type, proto);
- }
+ fd = WSASocketW(family, type, proto,
+ NULL, 0,
+ WSA_FLAG_OVERLAPPED | WSA_FLAG_NO_HANDLE_INHERIT);
Py_END_ALLOW_THREADS
if (fd == INVALID_SOCKET) {
set_error();
return -1;
}
-
- if (!support_wsa_no_inherit) {
- if (!SetHandleInformation((HANDLE)fd, HANDLE_FLAG_INHERIT, 0)) {
- closesocket(fd);
- PyErr_SetFromWindowsErr(0);
- return -1;
- }
- }
#else
/* UNIX */
Py_BEGIN_ALLOW_THREADS
@@ -7340,12 +7324,6 @@ PyInit__socket(void)
if (!os_init())
return NULL;
-#ifdef MS_WINDOWS
- if (support_wsa_no_inherit == -1) {
- support_wsa_no_inherit = IsWindows7SP1OrGreater();
- }
-#endif
-
Py_SET_TYPE(&sock_type, &PyType_Type);
m = PyModule_Create(&socketmodule);
if (m == NULL)