xref: /llvm-project/libc/src/signal/linux/sigaddset.cpp (revision 5ff3ff33ff930e4ec49da7910612d8a41eb068cb)
166d00febSPaula Toth //===-- Linux implementation of sigaddset ---------------------------------===//
2cd76a026SAlex Brachet //
3cd76a026SAlex Brachet // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4cd76a026SAlex Brachet // See https://llvm.org/LICENSE.txt for license information.
5cd76a026SAlex Brachet // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6cd76a026SAlex Brachet //
7cd76a026SAlex Brachet //===----------------------------------------------------------------------===//
8cd76a026SAlex Brachet 
9cd76a026SAlex Brachet #include "src/signal/sigaddset.h"
10f626a350SNick Desaulniers 
11f626a350SNick Desaulniers #include "hdr/types/sigset_t.h"
12cd76a026SAlex Brachet #include "src/__support/common.h"
13*5ff3ff33SPetr Hosek #include "src/__support/macros/config.h"
147abf6c25SSiva Chandra Reddy #include "src/errno/libc_errno.h"
15215c9fa4SSiva Chandra Reddy #include "src/signal/linux/signal_utils.h"
16215c9fa4SSiva Chandra Reddy 
17*5ff3ff33SPetr Hosek namespace LIBC_NAMESPACE_DECL {
18cd76a026SAlex Brachet 
19a0b65a7bSMichael Jones LLVM_LIBC_FUNCTION(int, sigaddset, (sigset_t * set, int signum)) {
20215c9fa4SSiva Chandra Reddy   if (set != nullptr && add_signal(*set, signum))
21cd76a026SAlex Brachet     return 0;
227abf6c25SSiva Chandra Reddy   libc_errno = EINVAL;
23215c9fa4SSiva Chandra Reddy   return -1;
24cd76a026SAlex Brachet }
25cd76a026SAlex Brachet 
26*5ff3ff33SPetr Hosek } // namespace LIBC_NAMESPACE_DECL
27