X-Git-Url: http://git.monstr.eu/?a=blobdiff_plain;f=fs%2Fsignalfd.c;h=65ce0e72e7b9588d344ee715cee6838f7e1cb4e1;hb=5e6d72c643e1262ff02e057620b9f87d7d81141a;hp=040e1cf9052826ef08bf269aeb63d11c073d16b4;hpb=8e14329645bc7d722e1ec913025b54199fafaee3;p=linux-2.6-microblaze.git diff --git a/fs/signalfd.c b/fs/signalfd.c index 040e1cf90528..65ce0e72e7b9 100644 --- a/fs/signalfd.c +++ b/fs/signalfd.c @@ -35,17 +35,7 @@ void signalfd_cleanup(struct sighand_struct *sighand) { - wait_queue_head_t *wqh = &sighand->signalfd_wqh; - /* - * The lockless check can race with remove_wait_queue() in progress, - * but in this case its caller should run under rcu_read_lock() and - * sighand_cachep is SLAB_TYPESAFE_BY_RCU, we can safely return. - */ - if (likely(!waitqueue_active(wqh))) - return; - - /* wait_queue_entry_t->func(POLLFREE) should do remove_wait_queue() */ - wake_up_poll(wqh, EPOLLHUP | POLLFREE); + wake_up_pollfree(&sighand->signalfd_wqh); } struct signalfd_ctx {