brintos

brintos / llvm-project-archived public Read only

0
0
Text · 846 B · 8bd405e Raw
31 lines · cpp
1//===-- mutex_posix.cpp -----------------------------------------*- C++ -*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#include "gwp_asan/mutex.h"10 11#include <assert.h>12#include <pthread.h>13 14namespace gwp_asan {15void Mutex::lock() {16  int Status = pthread_mutex_lock(&Mu);17  assert(Status == 0);18  // Remove warning for non-debug builds.19  (void)Status;20}21 22bool Mutex::tryLock() { return pthread_mutex_trylock(&Mu) == 0; }23 24void Mutex::unlock() {25  int Status = pthread_mutex_unlock(&Mu);26  assert(Status == 0);27  // Remove warning for non-debug builds.28  (void)Status;29}30} // namespace gwp_asan31