aboutsummaryrefslogtreecommitdiffstats
path: root/fs/signalfd.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/signalfd.c')
-rw-r--r--fs/signalfd.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/fs/signalfd.c b/fs/signalfd.c
index 492465b451dd..79c1eea98a3a 100644
--- a/fs/signalfd.c
+++ b/fs/signalfd.c
@@ -30,6 +30,17 @@
30#include <linux/signalfd.h> 30#include <linux/signalfd.h>
31#include <linux/syscalls.h> 31#include <linux/syscalls.h>
32 32
33void signalfd_cleanup(struct sighand_struct *sighand)
34{
35 wait_queue_head_t *wqh = &sighand->signalfd_wqh;
36
37 if (likely(!waitqueue_active(wqh)))
38 return;
39
40 /* wait_queue_t->func(POLLFREE) should do remove_wait_queue() */
41 wake_up_poll(wqh, POLLHUP | POLLFREE);
42}
43
33struct signalfd_ctx { 44struct signalfd_ctx {
34 sigset_t sigmask; 45 sigset_t sigmask;
35}; 46};