66#include "pycore_pyerrors.h" // _Py_FatalErrorFormat
77#include "pycore_pystate.h" // _PyThreadState_GET
88
9- #ifdef _WIN32
9+ #ifdef MS_WINDOWS
10+ # define WIN32_LEAN_AND_MEAN
1011# include <windows.h>
1112#elif (defined(_POSIX_SEMAPHORES ) && !defined(HAVE_BROKEN_POSIX_SEMAPHORES ) && \
1213 defined(HAVE_SEM_TIMEDWAIT ))
2324// A simple, cross-platform binary semaphore that can be used to implement
2425// wakeup/sleep.
2526struct _PySemaphore {
26- #if defined(_WIN32 )
27+ #if defined(MS_WINDOWS )
2728 HANDLE platform_sem ;
2829#elif defined(USE_SEMAPHORES )
2930 sem_t platform_sem ;
@@ -73,7 +74,7 @@ static _Py_thread_local ThreadData *thread_data = NULL;
7374static void
7475_PySemaphore_Init (_PySemaphore * sema )
7576{
76- #if defined(_WIN32 )
77+ #if defined(MS_WINDOWS )
7778 sema -> platform_sem = CreateSemaphore (
7879 NULL , // attributes
7980 0 , // initial count
@@ -100,7 +101,7 @@ _PySemaphore_Init(_PySemaphore *sema)
100101static void
101102_PySemaphore_Destroy (_PySemaphore * sema )
102103{
103- #if defined(_WIN32 )
104+ #if defined(MS_WINDOWS )
104105 CloseHandle (sema -> platform_sem );
105106#elif defined(USE_SEMAPHORES )
106107 sem_destroy (& sema -> platform_sem );
@@ -114,7 +115,7 @@ static int
114115_PySemaphore_PlatformWait (_PySemaphore * sema , _PyTime_t timeout )
115116{
116117 int res = Py_PARK_INTR ;
117- #if defined(_WIN32 )
118+ #if defined(MS_WINDOWS )
118119 DWORD wait ;
119120 DWORD millis = 0 ;
120121 if (timeout < 0 ) {
@@ -213,7 +214,7 @@ _PySemaphore_Wait(_PySemaphore *sema, _PyTime_t timeout, int detach)
213214void
214215_PySemaphore_Wakeup (_PySemaphore * sema )
215216{
216- #if defined(_WIN32 )
217+ #if defined(MS_WINDOWS )
217218 if (!ReleaseSemaphore (sema -> platform_sem , 1 , NULL )) {
218219 Py_FatalError ("parking_lot: ReleaseSemaphore failed" );
219220 }
0 commit comments