From bbffb8c285bad68350df12405ef67056e7cbfc47 Mon Sep 17 00:00:00 2001 From: Jay Satiro Date: Fri, 1 Jul 2022 03:02:20 -0400 Subject: [PATCH] easy_lock: fix build for mingw - Define SRWLOCK symbols missing in some mingw environments. Closes https://github.com/curl/curl/pull/8997 --- lib/easy_lock.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/easy_lock.h b/lib/easy_lock.h index a4db9fe47e..808610f8e5 100644 --- a/lib/easy_lock.h +++ b/lib/easy_lock.h @@ -28,6 +28,19 @@ #if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x600 +#ifdef __MINGW32__ +#ifndef __MINGW64_VERSION_MAJOR +#if (__MINGW32_MAJOR_VERSION < 5) || \ + (__MINGW32_MAJOR_VERSION == 5 && __MINGW32_MINOR_VERSION == 0) +/* mingw >= 5.0.1 defines SRWLOCK, and slightly different from MS define */ +typedef PVOID SRWLOCK, *PSRWLOCK; +#endif +#endif +#ifndef SRWLOCK_INIT +#define SRWLOCK_INIT NULL +#endif +#endif /* __MINGW32__ */ + #define curl_simple_lock SRWLOCK #define CURL_SIMPLE_LOCK_INIT SRWLOCK_INIT -- 2.47.3