Index: src/core/SkSharedMutex.cpp |
diff --git a/src/core/SkSharedMutex.cpp b/src/core/SkSharedMutex.cpp |
index 203a775190e5f2cff78d2761eac1adee9a837636..aeaf5776bf4e04cb162d31283b37323212892c94 100644 |
--- a/src/core/SkSharedMutex.cpp |
+++ b/src/core/SkSharedMutex.cpp |
@@ -9,7 +9,7 @@ |
#include "SkAtomics.h" |
#include "SkTypes.h" |
-#include "../private/SkSemaphore.h" |
+#include "SkSemaphore.h" |
#if defined(THREAD_SANITIZER) |
@@ -68,21 +68,13 @@ void AnnotateRWLockReleased( |
#ifdef SK_DEBUG |
+ #include "SkThreadID.h" |
#include "SkTDArray.h" |
- #ifdef SK_BUILD_FOR_WIN |
- #include <windows.h> |
- static int64_t get_thread_id() { return GetCurrentThreadId(); } |
- #else |
- #include <pthread.h> |
- static int64_t get_thread_id() { return (int64_t)pthread_self(); } |
- #endif |
- |
- typedef int64_t ThreadID; |
class SkSharedMutex::ThreadIDSet { |
public: |
// Returns true if threadID is in the set. |
- bool find(ThreadID threadID) const { |
+ bool find(SkThreadID threadID) const { |
for (auto& t : fThreadIDs) { |
if (t == threadID) return true; |
} |
@@ -90,7 +82,7 @@ void AnnotateRWLockReleased( |
} |
// Returns true if did not already exist. |
- bool tryAdd(ThreadID threadID) { |
+ bool tryAdd(SkThreadID threadID) { |
for (auto& t : fThreadIDs) { |
if (t == threadID) return false; |
} |
@@ -98,7 +90,7 @@ void AnnotateRWLockReleased( |
return true; |
} |
// Returns true if already exists in Set. |
- bool tryRemove(ThreadID threadID) { |
+ bool tryRemove(SkThreadID threadID) { |
for (int i = 0; i < fThreadIDs.count(); ++i) { |
if (fThreadIDs[i] == threadID) { |
fThreadIDs.remove(i); |
@@ -117,7 +109,7 @@ void AnnotateRWLockReleased( |
} |
private: |
- SkTDArray<ThreadID> fThreadIDs; |
+ SkTDArray<SkThreadID> fThreadIDs; |
}; |
SkSharedMutex::SkSharedMutex() |
@@ -130,7 +122,7 @@ void AnnotateRWLockReleased( |
SkSharedMutex::~SkSharedMutex() { ANNOTATE_RWLOCK_DESTROY(this); } |
void SkSharedMutex::acquire() { |
- ThreadID threadID(get_thread_id()); |
+ SkThreadID threadID(SkGetThreadID()); |
int currentSharedCount; |
int waitingExclusiveCount; |
{ |
@@ -156,7 +148,7 @@ void AnnotateRWLockReleased( |
// exclusive lock separate from the threads added before. |
void SkSharedMutex::release() { |
ANNOTATE_RWLOCK_RELEASED(this, 1); |
- ThreadID threadID(get_thread_id()); |
+ SkThreadID threadID(SkGetThreadID()); |
int sharedWaitingCount; |
int exclusiveWaitingCount; |
int sharedQueueSelect; |
@@ -183,14 +175,14 @@ void AnnotateRWLockReleased( |
} |
void SkSharedMutex::assertHeld() const { |
- ThreadID threadID(get_thread_id()); |
+ SkThreadID threadID(SkGetThreadID()); |
SkAutoMutexAcquire l(&fMu); |
SkASSERT(0 == fCurrentShared->count()); |
SkASSERT(fWaitingExclusive->find(threadID)); |
} |
void SkSharedMutex::acquireShared() { |
- ThreadID threadID(get_thread_id()); |
+ SkThreadID threadID(SkGetThreadID()); |
int exclusiveWaitingCount; |
int sharedQueueSelect; |
{ |
@@ -217,7 +209,7 @@ void AnnotateRWLockReleased( |
void SkSharedMutex::releaseShared() { |
ANNOTATE_RWLOCK_RELEASED(this, 0); |
- ThreadID threadID(get_thread_id()); |
+ SkThreadID threadID(SkGetThreadID()); |
int currentSharedCount; |
int waitingExclusiveCount; |
@@ -236,7 +228,7 @@ void AnnotateRWLockReleased( |
} |
void SkSharedMutex::assertHeldShared() const { |
- ThreadID threadID(get_thread_id()); |
+ SkThreadID threadID(SkGetThreadID()); |
SkAutoMutexAcquire l(&fMu); |
SkASSERT(fCurrentShared->find(threadID)); |
} |