diff --git a/server.c b/server.c index 0a4e2306..e53fc9c7 100644 --- a/server.c +++ b/server.c @@ -139,8 +139,11 @@ server_start(char *path) fatal("daemon failed"); /* event_init() was called in our parent, need to reinit. */ + if (setenv("EVENT_NOKQUEUE", "1", 1) != 0) + fatal("setenv"); if (event_reinit(ev_base) != 0) fatal("event_reinit failed"); + unsetenv("EVENT_NOKQUEUE"); clear_signals(); logfile("server"); diff --git a/tmux.c b/tmux.c index e42e48d3..6edaf8f5 100644 --- a/tmux.c +++ b/tmux.c @@ -532,7 +532,10 @@ main(int argc, char **argv) exit(1); } + if (setenv("EVENT_NOKQUEUE", "1", 1) != 0) + fatal("setenv"); ev_base = event_init(); + unsetenv("EVENT_NOKQUEUE"); set_signals(main_signal); /* Initialise the client socket/start the server. */