From: VMware, Inc <> Date: Wed, 21 Dec 2011 23:59:26 +0000 (-0800) Subject: lib/lock: put back the last piece X-Git-Tag: 2011.12.20-562307~67 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6ed82d6ccd402342b62030f68cc4eeda43b85efa;p=thirdparty%2Fopen-vm-tools.git lib/lock: put back the last piece Signed-off-by: Marcelo Vanzin --- diff --git a/open-vm-tools/lib/lock/ulExcl.c b/open-vm-tools/lib/lock/ulExcl.c index fff114c24..e4dcc2d7f 100644 --- a/open-vm-tools/lib/lock/ulExcl.c +++ b/open-vm-tools/lib/lock/ulExcl.c @@ -143,7 +143,9 @@ MXUserDumpExclLock(MXUserHeader *header) // IN: Warning("\tcount %u\n", lock->recursiveLock.referenceCount); - Warning("\taddress of owner data 0x%p\n", + Warning("\tVThreadID %u\n", lock->recursiveLock.vmwThreadID); + + Warning("\taddress of native owner data 0x%p\n", &lock->recursiveLock.nativeThreadID); if (stats && (stats->holder != NULL)) { diff --git a/open-vm-tools/lib/lock/ulInt.h b/open-vm-tools/lib/lock/ulInt.h index 0e620b576..30f6e1d1d 100644 --- a/open-vm-tools/lib/lock/ulInt.h +++ b/open-vm-tools/lib/lock/ulInt.h @@ -60,6 +60,7 @@ typedef struct { int referenceCount; // Acquisition count MXUserThreadID nativeThreadID; // Native thread ID + VThreadID vmwThreadID; // VMW thread ID } MXRecLock; @@ -124,6 +125,7 @@ static INLINE void MXRecLockSetNoOwner(MXRecLock *lock) // IN: { lock->nativeThreadID = MXUSER_INVALID_OWNER; + lock->vmwThreadID = VTHREAD_INVALID_ID; } @@ -131,6 +133,7 @@ static INLINE void MXRecLockSetOwner(MXRecLock *lock) // IN/OUT: { lock->nativeThreadID = GetCurrentThreadId(); + lock->vmwThreadID = VThread_CurID(); } @@ -184,6 +187,7 @@ MXRecLockSetNoOwner(MXRecLock *lock) // IN/OUT: { /* a hack but it works portably */ memset((void *) &lock->nativeThreadID, 0xFF, sizeof(lock->nativeThreadID)); + lock->vmwThreadID = VTHREAD_INVALID_ID; } @@ -191,6 +195,7 @@ static INLINE void MXRecLockSetOwner(MXRecLock *lock) // IN: { lock->nativeThreadID = pthread_self(); + lock->vmwThreadID = VThread_CurID(); } diff --git a/open-vm-tools/lib/lock/ulRec.c b/open-vm-tools/lib/lock/ulRec.c index 51bdd4ad3..112cda170 100644 --- a/open-vm-tools/lib/lock/ulRec.c +++ b/open-vm-tools/lib/lock/ulRec.c @@ -160,7 +160,9 @@ MXUserDumpRecLock(MXUserHeader *header) // IN: Warning("\tcount %u\n", lock->recursiveLock.referenceCount); - Warning("\taddress of owner data 0x%p\n", + Warning("\tVThreadID %u\n", lock->recursiveLock.vmwThreadID); + + Warning("\taddress of native owner data 0x%p\n", &lock->recursiveLock.nativeThreadID); if (stats && (stats->holder != NULL)) {