| // Copyright 2013 The Flutter Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| #ifndef FLUTTER_FML_SYNCHRONIZATION_SHARED_MUTEX_POSIX_H_ | |
| #define FLUTTER_FML_SYNCHRONIZATION_SHARED_MUTEX_POSIX_H_ | |
| #include <shared_mutex> | |
| #include "flutter/fml/synchronization/shared_mutex.h" | |
| namespace fml { | |
| class SharedMutexPosix : public SharedMutex { | |
| public: | |
| virtual void Lock(); | |
| virtual void LockShared(); | |
| virtual void Unlock(); | |
| virtual void UnlockShared(); | |
| private: | |
| friend SharedMutex* SharedMutex::Create(); | |
| SharedMutexPosix(); | |
| pthread_rwlock_t rwlock_; | |
| }; | |
| } // namespace fml | |
| #endif // FLUTTER_FML_SYNCHRONIZATION_SHARED_MUTEX_POSIX_H_ |