[libc-commits] [libc] [libc] Implement sigtimedwait and sigwaitinfo in signal (PR #238000)

Michael Jones via libc-commits libc-commits at lists.llvm.org
Mon Nov 2 14:09:10 PST 2026


================
@@ -0,0 +1,36 @@
+//===----------------------------------------------------------------------===//
+//
+// 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
+//
+//===----------------------------------------------------------------------===//
+///
+/// \file
+/// Linux implementation of sigwaitinfo.
+///
+//===----------------------------------------------------------------------===//
+
+#include "src/signal/sigwaitinfo.h"
+
+#include "hdr/types/siginfo_t.h"
+#include "hdr/types/sigset_t.h"
+#include "src/__support/OSUtil/linux/syscall_wrappers/rt_sigtimedwait.h"
+#include "src/__support/common.h"
+#include "src/__support/libc_errno.h"
+#include "src/__support/macros/config.h"
+
+namespace LIBC_NAMESPACE_DECL {
+
+LLVM_LIBC_FUNCTION(int, sigwaitinfo,
+                   (const sigset_t *__restrict set,
+                    siginfo_t *__restrict info)) {
+  auto result = linux_syscalls::rt_sigtimedwait(set, info, nullptr);
----------------
michaelrj-google wrote:

POSIX says that the behavior if `timeout` is `nullptr` is undefined, it seems like this code assumes the timeout will be ignored if it's `nullptr`. Is that documented by the kernel? If so could you add a comment with a link?

https://github.com/llvm/llvm-project/pull/238000


More information about the libc-commits mailing list