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