From 3a9640b2945a619250cc1a447b3dfdc6dae19b7e Mon Sep 17 00:00:00 2001 From: Nick Zavaritsky <mejedi@gmail.com> Date: Thu, 20 Aug 2015 00:56:54 +0300 Subject: [PATCH] gh-517: touch libev event loop after fork for proper reinit --- src/main.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main.cc b/src/main.cc index 60befc47e2..0836c46328 100644 --- a/src/main.cc +++ b/src/main.cc @@ -363,6 +363,12 @@ background() if (setsid() == -1) goto error; + /* + * tell libev we've just forked, this is necessary to re-initialize + * kqueue on FreeBSD. + */ + ev_loop_fork(cord()->loop); + /* * reinit signals after fork, because fork() implicitly calls * signal_reset() via pthread_atfork() hook installed by signal_init(). -- GitLab