1/* SPDX-License-Identifier: GPL-2.0 */
2/*
3 *  include/linux/signalfd.h
4 *
5 *  Copyright (C) 2007  Davide Libenzi <davidel@xmailserver.org>
6 *
7 */
8#ifndef _LINUX_SIGNALFD_H
9#define _LINUX_SIGNALFD_H
10
11#include <uapi/linux/signalfd.h>
12#include <linux/sched/signal.h>
13
14#ifdef CONFIG_SIGNALFD
15
16/*
17 * Deliver the signal to listening signalfd.
18 */
19static inline void signalfd_notify(struct task_struct *tsk, int sig)
20{
21	if (unlikely(waitqueue_active(&tsk->sighand->signalfd_wqh)))
22		wake_up(&tsk->sighand->signalfd_wqh);
23}
24
25extern void signalfd_cleanup(struct sighand_struct *sighand);
26
27#else /* CONFIG_SIGNALFD */
28
29static inline void signalfd_notify(struct task_struct *tsk, int sig) { }
30
31static inline void signalfd_cleanup(struct sighand_struct *sighand) { }
32
33#endif /* CONFIG_SIGNALFD */
34
35#endif /* _LINUX_SIGNALFD_H */
36