diff options
author | Patrick Mooney <pmooney@pfmooney.com> | 2016-03-08 16:44:15 +0000 |
---|---|---|
committer | Robert Mustacchi <rm@joyent.com> | 2016-03-11 13:29:21 -0800 |
commit | bf75909a55b2efbe96ab2fe820866fc77fab58c9 (patch) | |
tree | f04bd8bed37cbb26b88a451d7cfd5d6fc122838c | |
parent | d09e4475f635b6f66ee68d8c17a32bba7be17c96 (diff) | |
download | illumos-joyent-bf75909a55b2efbe96ab2fe820866fc77fab58c9.tar.gz |
6732 epoll fails to wake when fd added
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Bryan Cantrill <bryan@joyent.com>
Reviewed by: Dan McDonald <danmcd@omniti.com>
Reviewed by: Toomas Soome <tsoome@me.com>
Reviewed by: Richard PALO <richard@netbsd.org>
Approved by: Richard Lowe <richlowe@richlowe.net>
-rw-r--r-- | usr/src/uts/common/io/devpoll.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/usr/src/uts/common/io/devpoll.c b/usr/src/uts/common/io/devpoll.c index a63e1f1a08..e00ac1d1e9 100644 --- a/usr/src/uts/common/io/devpoll.c +++ b/usr/src/uts/common/io/devpoll.c @@ -25,7 +25,7 @@ /* * Copyright (c) 2012 by Delphix. All rights reserved. - * Copyright (c) 2015, Joyent, Inc. All rights reserved. + * Copyright 2016 Joyent, Inc. */ #include <sys/types.h> @@ -951,12 +951,15 @@ dpwrite(dev_t dev, struct uio *uiop, cred_t *credp) } } /* + * Wake any pollcache waiters so they can check the new descriptors. + * * Any fds added to an recursive-capable pollcache could themselves be * /dev/poll handles. To ensure that proper event propagation occurs, - * parent pollcaches are woken so that they can create any needed + * parent pollcaches are woken too, so that they can create any needed * pollcache links. */ if (fds_added) { + cv_broadcast(&pcp->pc_cv); pcache_wake_parents(pcp); } pollstate_exit(pcp); |