blob: a0ab683b47eba0a5a5e56c6d3a5c5354bef5e7c7 [file] [log] [blame]
// 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_