void MXUser_DestroyExclLock(MXUserExclLock *lock);
Bool MXUser_IsCurThreadHoldingExclLock(MXUserExclLock *lock);
-/* Use only when necessary */
-MXUserExclLock *MXUser_CreateSingletonExclLockInt(Atomic_Ptr *lockStorage,
- const char *name,
- MX_Rank rank);
-
-/* This is the public interface */
-static INLINE MXUserExclLock *
-MXUser_CreateSingletonExclLock(Atomic_Ptr *lockStorage,
- const char *name,
- MX_Rank rank)
-{
- MXUserExclLock *lock;
-
- ASSERT(lockStorage);
-
- lock = (MXUserExclLock *) Atomic_ReadPtr(lockStorage);
-
- if (UNLIKELY(lock == NULL)) {
- lock = MXUser_CreateSingletonExclLockInt(lockStorage, name, rank);
- }
-
- return lock;
-}
+MXUserExclLock *MXUser_CreateSingletonExclLock(Atomic_Ptr *lockStorage,
+ const char *name,
+ MX_Rank rank);
MXUserCondVar *MXUser_CreateCondVarExclLock(MXUserExclLock *lock);
void MXUser_DestroyRecLock(MXUserRecLock *lock);
Bool MXUser_IsCurThreadHoldingRecLock(MXUserRecLock *lock);
-/* Use only when necessary */
-MXUserRecLock *MXUser_CreateSingletonRecLockInt(Atomic_Ptr *lockStorage,
- const char *name,
- MX_Rank rank);
-
-/* This is the public interface */
-static INLINE MXUserRecLock *
-MXUser_CreateSingletonRecLock(Atomic_Ptr *lockStorage,
- const char *name,
- MX_Rank rank)
-{
- MXUserRecLock *lock;
-
- ASSERT(lockStorage);
-
- lock = (MXUserRecLock *) Atomic_ReadPtr(lockStorage);
-
- if (UNLIKELY(lock == NULL)) {
- lock = MXUser_CreateSingletonRecLockInt(lockStorage, name, rank);
- }
-
- return lock;
-}
+MXUserRecLock *MXUser_CreateSingletonRecLock(Atomic_Ptr *lockStorage,
+ const char *name,
+ MX_Rank rank);
void MXUser_DumpRecLock(MXUserRecLock *lock);
Bool MXUser_IsCurThreadHoldingRWLock(MXUserRWLock *lock,
uint32 queryType);
-/* Use only when necessary */
-MXUserRWLock *MXUser_CreateSingletonRWLockInt(Atomic_Ptr *lockStorage,
- const char *name,
- MX_Rank rank);
-
-/* This is the public interface */
-static INLINE MXUserRWLock *
-MXUser_CreateSingletonRWLock(Atomic_Ptr *lockStorage,
- const char *name,
- MX_Rank rank)
-{
- MXUserRWLock *lock;
-
- ASSERT(lockStorage);
-
- lock = (MXUserRWLock *) Atomic_ReadPtr(lockStorage);
-
- if (UNLIKELY(lock == NULL)) {
- lock = MXUser_CreateSingletonRWLockInt(lockStorage, name, rank);
- }
-
- return lock;
-}
+MXUserRWLock *MXUser_CreateSingletonRWLock(Atomic_Ptr *lockStorage,
+ const char *name,
+ MX_Rank rank);
/*
* Stateful auto-reset event
/*********************************************************
- * Copyright (C) 2009-2017 VMware, Inc. All rights reserved.
+ * Copyright (C) 2009-2016 VMware, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published
/*
*-----------------------------------------------------------------------------
*
- * MXUser_CreateSingletonExclLockInt --
+ * MXUser_CreateSingletonExclLock --
*
* Ensures that the specified backing object (Atomic_Ptr) contains a
* exclusive lock. This is useful for modules that need to protect
*/
MXUserExclLock *
-MXUser_CreateSingletonExclLockInt(Atomic_Ptr *lockStorage, // IN/OUT:
- const char *name, // IN:
- MX_Rank rank) // IN:
+MXUser_CreateSingletonExclLock(Atomic_Ptr *lockStorage, // IN/OUT:
+ const char *name, // IN:
+ MX_Rank rank) // IN:
{
MXUserExclLock *lock;
/*********************************************************
- * Copyright (C) 2009-2017 VMware, Inc. All rights reserved.
+ * Copyright (C) 2009-2016 VMware, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published
/*
*-----------------------------------------------------------------------------
*
- * MXUser_CreateSingletonRWLockInt --
+ * MXUser_CreateSingletonRWLock --
*
* Ensures that the specified backing object (Atomic_Ptr) contains a
* RW lock. This is useful for modules that need to protect something
*/
MXUserRWLock *
-MXUser_CreateSingletonRWLockInt(Atomic_Ptr *lockStorage, // IN/OUT:
- const char *name, // IN:
- MX_Rank rank) // IN:
+MXUser_CreateSingletonRWLock(Atomic_Ptr *lockStorage, // IN/OUT:
+ const char *name, // IN:
+ MX_Rank rank) // IN:
{
MXUserRWLock *lock;
/*********************************************************
- * Copyright (C) 2009-2017 VMware, Inc. All rights reserved.
+ * Copyright (C) 2009-2016 VMware, Inc. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published
/*
*-----------------------------------------------------------------------------
*
- * MXUser_CreateSingletonRecLockInt --
+ * MXUser_CreateSingletonRecLock --
*
* Ensures that the specified backing object (Atomic_Ptr) contains a
* recursive lock. This is useful for modules that need to protect
*/
MXUserRecLock *
-MXUser_CreateSingletonRecLockInt(Atomic_Ptr *lockStorage, // IN/OUT:
- const char *name, // IN:
- MX_Rank rank) // IN:
+MXUser_CreateSingletonRecLock(Atomic_Ptr *lockStorage, // IN/OUT:
+ const char *name, // IN:
+ MX_Rank rank) // IN:
{
MXUserRecLock *lock;