diff options
author | Ossama Othman <ossama-othman@users.noreply.github.com> | 2007-02-21 22:29:49 +0000 |
---|---|---|
committer | Ossama Othman <ossama-othman@users.noreply.github.com> | 2007-02-21 22:29:49 +0000 |
commit | e2fb931d4056ac6a25aa30f3f9784ea5087ebad0 (patch) | |
tree | 63afe56dbcdb765415669eeb73315cf45b03b9ca /ACE/ace/Recursive_Thread_Mutex.cpp | |
parent | cbfb23f42fd1c1505b6859e4822eb55fc6f57bd1 (diff) | |
download | ATCD-e2fb931d4056ac6a25aa30f3f9784ea5087ebad0.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.cpp | 15 |
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_); |