From: Oliver Kurth Date: Thu, 3 Oct 2019 00:48:34 +0000 (-0700) Subject: Common source file changes not directly applicable to open-vm-tools. X-Git-Tag: stable-11.1.0~215 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=944b68a7d8ef4f7659cc8f33d22cf41a0c6cc439;p=thirdparty%2Fopen-vm-tools.git Common source file changes not directly applicable to open-vm-tools. --- diff --git a/open-vm-tools/lib/lock/ulRW.c b/open-vm-tools/lib/lock/ulRW.c index 3dd104055..c94b4d7cb 100644 --- a/open-vm-tools/lib/lock/ulRW.c +++ b/open-vm-tools/lib/lock/ulRW.c @@ -44,72 +44,16 @@ #if defined(_WIN32) typedef SRWLOCK NativeRWLock; -typedef VOID (WINAPI *InitializeSRWLockFn)(PSRWLOCK lock); -typedef VOID (WINAPI *AcquireSRWLockSharedFn)(PSRWLOCK lock); -typedef VOID (WINAPI *ReleaseSRWLockSharedFn)(PSRWLOCK lock); -typedef VOID (WINAPI *AcquireSRWLockExclusiveFn)(PSRWLOCK lock); -typedef VOID (WINAPI *ReleaseSRWLockExclusiveFn)(PSRWLOCK lock); - -static InitializeSRWLockFn pInitializeSRWLock; -static AcquireSRWLockSharedFn pAcquireSRWLockShared; -static ReleaseSRWLockSharedFn pReleaseSRWLockShared; -static AcquireSRWLockExclusiveFn pAcquireSRWLockExclusive; -static ReleaseSRWLockExclusiveFn pReleaseSRWLockExclusive; - static Bool MXUserNativeRWSupported(void) { - static Bool result; - static Bool done = FALSE; - - if (!done) { - HMODULE kernel32 = GetModuleHandleW(L"kernel32.dll"); - - if (kernel32) { - pInitializeSRWLock = (InitializeSRWLockFn) - GetProcAddress(kernel32, - "InitializeSRWLock"); - - pAcquireSRWLockShared = (AcquireSRWLockSharedFn) - GetProcAddress(kernel32, - "AcquireSRWLockShared"); - - pReleaseSRWLockShared = (ReleaseSRWLockSharedFn) - GetProcAddress(kernel32, - "ReleaseSRWLockShared"); - - pAcquireSRWLockExclusive = (AcquireSRWLockExclusiveFn) - GetProcAddress(kernel32, - "AcquireSRWLockExclusive"); - - pReleaseSRWLockExclusive = (ReleaseSRWLockExclusiveFn) - GetProcAddress(kernel32, - "ReleaseSRWLockExclusive"); - - COMPILER_MEM_BARRIER(); - - result = ((pInitializeSRWLock != NULL) && - (pAcquireSRWLockShared != NULL) && - (pReleaseSRWLockShared != NULL) && - (pAcquireSRWLockExclusive != NULL) && - (pReleaseSRWLockExclusive != NULL)); - - COMPILER_MEM_BARRIER(); - } else { - result = FALSE; - } - - done = TRUE; - } - - return result; + return TRUE; } static Bool MXUserNativeRWInit(NativeRWLock *lock) // IN: { - ASSERT(pInitializeSRWLock); - (*pInitializeSRWLock)(lock); + InitializeSRWLock(lock); return TRUE; } @@ -127,11 +71,9 @@ MXUserNativeRWAcquire(NativeRWLock *lock, // IN: int *err) // OUT: { if (forRead) { - ASSERT(pAcquireSRWLockShared); - (*pAcquireSRWLockShared)(lock); + AcquireSRWLockShared(lock); } else { - ASSERT(pAcquireSRWLockExclusive); - (*pAcquireSRWLockExclusive)(lock); + AcquireSRWLockExclusive(lock); } *err = 0; @@ -144,11 +86,9 @@ MXUserNativeRWRelease(NativeRWLock *lock, // IN: Bool forRead) // IN: { if (forRead) { - ASSERT(pReleaseSRWLockShared); - (*pReleaseSRWLockShared)(lock); + ReleaseSRWLockShared(lock); } else { - ASSERT(pReleaseSRWLockExclusive); - (*pReleaseSRWLockExclusive)(lock); + ReleaseSRWLockExclusive(lock); } return 0; diff --git a/open-vm-tools/lib/misc/timeutil.c b/open-vm-tools/lib/misc/timeutil.c index 930ee268f..06b61e47f 100644 --- a/open-vm-tools/lib/misc/timeutil.c +++ b/open-vm-tools/lib/misc/timeutil.c @@ -1065,22 +1065,9 @@ TimeUtil_GetLocalWindowsTimeZoneIndexAndName(char **ptzName) // OUT: returning #if defined(_WIN32) { - /* - * Hosted products don't support XP hosts anymore, but we use - * GetProcAddress instead of linking statically to - * GetDynamicTimeZoneInformation to avoid impacting Tools and Cascadia, - * which consume this lib and still need to run on XP. - */ DYNAMIC_TIME_ZONE_INFORMATION tzInfo = {0}; - typedef DWORD (WINAPI* PFNGetTZInfo)(PDYNAMIC_TIME_ZONE_INFORMATION); - PFNGetTZInfo pfnGetTZInfo = NULL; - - pfnGetTZInfo = - (PFNGetTZInfo) GetProcAddress(GetModuleHandleW(L"kernel32"), - "GetDynamicTimeZoneInformation"); - if (pfnGetTZInfo == NULL || - pfnGetTZInfo(&tzInfo) == TIME_ZONE_ID_INVALID) { + if (GetDynamicTimeZoneInformation(&tzInfo) == TIME_ZONE_ID_INVALID) { return (-1); }