| // Copyright (c) 2016 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "quic/platform/api/quic_mutex.h" |
| |
| namespace quic { |
| |
| void QuicMutex::WriterLock() { |
| impl_.WriterLock(); |
| } |
| |
| void QuicMutex::WriterUnlock() { |
| impl_.WriterUnlock(); |
| } |
| |
| void QuicMutex::ReaderLock() { |
| impl_.ReaderLock(); |
| } |
| |
| void QuicMutex::ReaderUnlock() { |
| impl_.ReaderUnlock(); |
| } |
| |
| void QuicMutex::AssertReaderHeld() const { |
| impl_.AssertReaderHeld(); |
| } |
| |
| QuicReaderMutexLock::QuicReaderMutexLock(QuicMutex* lock) : lock_(lock) { |
| lock->ReaderLock(); |
| } |
| |
| QuicReaderMutexLock::~QuicReaderMutexLock() { |
| lock_->ReaderUnlock(); |
| } |
| |
| QuicWriterMutexLock::QuicWriterMutexLock(QuicMutex* lock) : lock_(lock) { |
| lock->WriterLock(); |
| } |
| |
| QuicWriterMutexLock::~QuicWriterMutexLock() { |
| lock_->WriterUnlock(); |
| } |
| |
| } // namespace quic |