1//===---------- Linux implementation of the shm_unlink function -----------===//
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-exception
6//
7//===----------------------------------------------------------------------===//
8
9#include "src/sys/mman/shm_unlink.h"
10#include "src/__support/macros/config.h"
11#include "src/sys/mman/linux/shm_common.h"
12#include "src/unistd/unlink.h"
13
14namespace LIBC_NAMESPACE_DECL {
15
16// TODO: stop calling the public unlink function. It should be calling an
17// internal shared utility.
18
19LLVM_LIBC_FUNCTION(int, shm_unlink, (const char *name)) {
20 if (cpp::optional<shm_common::SHMPath> buffer =
21 shm_common::translate_name(name))
22 return LIBC_NAMESPACE::unlink(buffer->data());
23 return -1;
24}
25
26} // namespace LIBC_NAMESPACE_DECL
27

source code of libc/src/sys/mman/linux/shm_unlink.cpp