From 214382dcb59b15735d47a85be34da95a1d3e7fe2 Mon Sep 17 00:00:00 2001 From: Hiroki Noda Date: Tue, 19 Dec 2017 13:38:47 +0900 Subject: [PATCH] Set EFD_CLOEXEC Add missing one. --- source/eventcore/drivers/posix/events.d | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/eventcore/drivers/posix/events.d b/source/eventcore/drivers/posix/events.d index a8300d0..92e9997 100644 --- a/source/eventcore/drivers/posix/events.d +++ b/source/eventcore/drivers/posix/events.d @@ -8,6 +8,7 @@ import eventcore.internal.consumablequeue : ConsumableQueue; version (linux) { nothrow @nogc extern (C) int eventfd(uint initval, int flags); enum EFD_NONBLOCK = 0x800; + enum EFD_CLOEXEC = 0x80000; } version (Posix) { import core.sys.posix.unistd : close, read, write; @@ -50,7 +51,7 @@ final class PosixEventDriverEvents(Loop : PosixEventLoop, Sockets : EventDriverS package(eventcore) EventID createInternal(bool is_internal = true) { version (linux) { - auto eid = eventfd(0, EFD_NONBLOCK); + auto eid = eventfd(0, EFD_NONBLOCK | EFD_CLOEXEC); if (eid == -1) return EventID.invalid; auto id = cast(EventID)eid; m_loop.initFD(id, FDFlags.internal);