summaryrefslogtreecommitdiff
path: root/ACE/ace/Recursive_Thread_Mutex.cpp
diff options
context:
space:
mode:
authorOssama Othman <ossama-othman@users.noreply.github.com>2007-02-21 22:29:49 +0000
committerOssama Othman <ossama-othman@users.noreply.github.com>2007-02-21 22:29:49 +0000
commitf11224da696a623a28510aafb10532ca999be51b (patch)
tree63afe56dbcdb765415669eeb73315cf45b03b9ca /ACE/ace/Recursive_Thread_Mutex.cpp
parentcc970acff36ed652b93a32c8074558c310349658 (diff)
downloadATCD-f11224da696a623a28510aafb10532ca999be51b.tar.gz
ChangeLogTag:Wed Feb 21 19:27:14 UTC 2007 Ossama Othman <ossama_othman at symantec dot com>
Diffstat (limited to 'ACE/ace/Recursive_Thread_Mutex.cpp')
-rw-r--r--ACE/ace/Recursive_Thread_Mutex.cpp15
1 files changed, 6 insertions, 9 deletions
diff --git a/ACE/ace/Recursive_Thread_Mutex.cpp b/ACE/ace/Recursive_Thread_Mutex.cpp
index 880513a483a..daf28c8a9ab 100644
--- a/ACE/ace/Recursive_Thread_Mutex.cpp
+++ b/ACE/ace/Recursive_Thread_Mutex.cpp
@@ -85,20 +85,17 @@ ACE_Recursive_Thread_Mutex::get_nesting_level (void)
#if defined (ACE_HAS_WINCE) || defined (ACE_VXWORKS)
ACE_NOTSUP_RETURN (-1);
#elif defined (ACE_HAS_RECURSIVE_MUTEXES)
+# if defined (ACE_WIN32)
+ // This is really a Win32-ism...
// Nothing inside of a CRITICAL_SECTION object should ever be
// accessed directly. It is documented to change at any time.
-# if defined (ACE_WIN64) && !defined(_M_AMD64)
- // Things are different on Windows XP 64-bit. However, as of Feb 2006
- // Windows XP 64-bit edition on Intel EM64T w/ VC8, LockCount is
- // decremented at first acquire and then doesn't change. RecursionCount,
- // however, works the same as Win32, below.
- return this->lock_.LockCount + 1;
-# elif defined (ACE_WIN32)
- // This is really a Win32-ism...
+ //
+ // It has been reported that this this works for all three
+ // architectures. However, this does not work on Win64 before SP1.
return this->lock_.RecursionCount;
# else
ACE_NOTSUP_RETURN (-1);
-# endif /* ACE_HAS_RECURSIVE_MUTEXES */
+# endif /* ACE_WIN32 */
#else
int nesting_level = 0;
ACE_OS::mutex_lock (&this->lock_.nesting_mutex_);