void MXUser_SetInPanic(void);
Bool MXUser_InPanic(void);
-MXUserRecLock *MXUser_BindMXMutexRec(struct MX_MutexRec *mutex);
+MXUserRecLock *MXUser_BindMXMutexRec(struct MX_MutexRec *mutex,
+ MX_Rank rank);
struct MX_MutexRec *MXUser_GetRecLockVmm(const MXUserRecLock *lock);
MX_Rank MXUser_GetRecLockRank(const MXUserRecLock *lock);
#endif // _USERLOCK_H_
*/
MXUserRecLock *
-MXUser_BindMXMutexRec(struct MX_MutexRec *mutex) // IN:
+MXUser_BindMXMutexRec(struct MX_MutexRec *mutex, // IN:
+ MX_Rank rank) // IN:
{
MXUserRecLock *lock;
lock->header.lockName = Str_SafeAsprintf(NULL, "MX_%p", mutex);
lock->header.lockSignature = USERLOCK_SIGNATURE;
- lock->header.lockRank = RANK_UNRANKED; // unused
+ lock->header.lockRank = rank;
lock->header.lockDumper = NULL;
#if defined(MXUSER_STATS)
ASSERT(isBelowBull == (rank < RANK_userlevelLock));
MX_InitLockRec(name, rank, mutex);
- userLock = MXUser_BindMXMutexRec(mutex);
+ userLock = MXUser_BindMXMutexRec(mutex, rank);
ASSERT(userLock);
return userLock;