| Index: src/core/SkSharedMutex.cpp
|
| diff --git a/src/core/SkSharedMutex.cpp b/src/core/SkSharedMutex.cpp
|
| index 4cf63120676e658f43b1b354c22d27b08eb7d549..05e434c35b8f259b7e645e5b4119ec2d2b8d1f58 100644
|
| --- a/src/core/SkSharedMutex.cpp
|
| +++ b/src/core/SkSharedMutex.cpp
|
| @@ -184,7 +184,7 @@ void SkSharedMutex::releaseShared() {
|
| ANNOTATE_RWLOCK_RELEASED(this, 0);
|
|
|
| // Decrement the shared count.
|
| - int32_t oldQueueCounts = fQueueCounts.fetch_add(~0U << kSharedOffset,
|
| + int32_t oldQueueCounts = fQueueCounts.fetch_sub(1 << kSharedOffset,
|
| sk_memory_order_release);
|
|
|
| // If shared count is going to zero (because the old count == 1) and there are exclusive
|
|
|