llvm-project/libc/src/pthread/pthread_mutex_destroy.cpp
Siva Chandra Reddy 2a5d5078d5 [libc] Add the pthread_mutex_t type.
Simple implementations of the functions pthread_mutex_init,
pthread_mutex_destroy, pthread_mutex_lock and pthread_mutex_unlock have
have also been added. Future patches will extend these functions to add
features required by the POSIX specification.

Reviewed By: lntue

Differential Revision: https://reviews.llvm.org/D126235
2022-05-24 22:48:14 +00:00

27 lines
835 B
C++

//===-- Linux implementation of the pthread_mutex_destroy function --------===//
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===----------------------------------------------------------------------===//
#include "pthread_mutex_destroy.h"
#include "src/__support/common.h"
#include "src/__support/threads/mutex.h"
#include <pthread.h>
namespace __llvm_libc {
LLVM_LIBC_FUNCTION(int, pthread_mutex_destroy, (pthread_mutex_t * mutex)) {
auto *m = reinterpret_cast<Mutex *>(mutex);
Mutex::destroy(m);
// TODO: When the Mutex class supports all the possible error conditions
// return the appropriate error value here.
return 0;
}
} // namespace __llvm_libc