]> git.ipfire.org Git - thirdparty/open-vm-tools.git/commitdiff
Common source file changes not directly applicable to open-vm-tools.
authorOliver Kurth <okurth@vmware.com>
Thu, 3 Oct 2019 00:48:34 +0000 (17:48 -0700)
committerOliver Kurth <okurth@vmware.com>
Thu, 3 Oct 2019 00:48:34 +0000 (17:48 -0700)
open-vm-tools/lib/lock/ulRW.c
open-vm-tools/lib/misc/timeutil.c

index 3dd10405550dc9a7df0a82db99a74e3ce177293c..c94b4d7cb31d953d1ef3df37b62c0cf7c08621d3 100644 (file)
 #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;
index 930ee268fd610c8d20759c8a7199f230bad1f59a..06b61e47f5a901ed21c134d7479ed78bd4df1ecf 100644 (file)
@@ -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);
       }