diff options
Diffstat (limited to 'fs/eventpoll.c')
-rw-r--r-- | fs/eventpoll.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/fs/eventpoll.c b/fs/eventpoll.c index 7cc0eb756b55..99368bda0261 100644 --- a/fs/eventpoll.c +++ b/fs/eventpoll.c | |||
@@ -927,14 +927,11 @@ errxit: | |||
927 | /* | 927 | /* |
928 | * During the time we spent in the loop above, some other events | 928 | * During the time we spent in the loop above, some other events |
929 | * might have been queued by the poll callback. We re-insert them | 929 | * might have been queued by the poll callback. We re-insert them |
930 | * here (in case they are not already queued, or they're one-shot). | 930 | * inside the main ready-list here. |
931 | */ | 931 | */ |
932 | for (nepi = ep->ovflist; (epi = nepi) != NULL; | 932 | for (nepi = ep->ovflist; (epi = nepi) != NULL; |
933 | nepi = epi->next, epi->next = EP_UNACTIVE_PTR) { | 933 | nepi = epi->next, epi->next = EP_UNACTIVE_PTR) |
934 | if (!ep_is_linked(&epi->rdllink) && | 934 | list_add_tail(&epi->rdllink, &ep->rdllist); |
935 | (epi->event.events & ~EP_PRIVATE_BITS)) | ||
936 | list_add_tail(&epi->rdllink, &ep->rdllist); | ||
937 | } | ||
938 | /* | 935 | /* |
939 | * We need to set back ep->ovflist to EP_UNACTIVE_PTR, so that after | 936 | * We need to set back ep->ovflist to EP_UNACTIVE_PTR, so that after |
940 | * releasing the lock, events will be queued in the normal way inside | 937 | * releasing the lock, events will be queued in the normal way inside |