Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.openwrt.org/project/libubox.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYousong Zhou <yszhou4tech@gmail.com>2016-06-09 05:20:32 +0300
committerFelix Fietkau <nbd@nbd.name>2016-06-15 12:54:37 +0300
commit4e3a47a4cb438866bc4b9cb2f5d16226ffb48502 (patch)
tree1261027a581bd5f24ce2360677e776317c463bca /uloop-kqueue.c
parent1257a38a6e64511207bb3b077ca7e8e1a3338fc1 (diff)
uloop: use a waker for notifying sigchld and loop cancel events
Fix a race condition when do_sigchld, uloop_cancelled were set just before epoll_wait(timeout=-1), resulting the loop stuck in the syscall without noticing the events just happened Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'uloop-kqueue.c')
-rw-r--r--uloop-kqueue.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/uloop-kqueue.c b/uloop-kqueue.c
index 0cb1c14..ba5595b 100644
--- a/uloop-kqueue.c
+++ b/uloop-kqueue.c
@@ -15,7 +15,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
-int uloop_init(void)
+static int uloop_init_pollfd(void)
{
struct timespec timeout = { 0, 0 };
struct kevent ev = {};