From d013b719412533237725d5c5b8772aba0109e68b Mon Sep 17 00:00:00 2001 From: xtaci Date: Sun, 9 Feb 2020 03:19:58 +0000 Subject: [PATCH] eventfd should be created nonblocking --- internal/internal_linux.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/internal_linux.go b/internal/internal_linux.go index 9c3cb01..e186da4 100644 --- a/internal/internal_linux.go +++ b/internal/internal_linux.go @@ -9,6 +9,10 @@ import ( "unsafe" ) +const ( + _EFD_NONBLOCK = 0x800 +) + // Poll ... type Poll struct { fd int // epoll fd @@ -24,7 +28,7 @@ func OpenPoll() *Poll { panic(err) } l.fd = p - r0, _, e0 := syscall.Syscall(syscall.SYS_EVENTFD2, 0, 0, 0) + r0, _, e0 := syscall.Syscall(syscall.SYS_EVENTFD2, 0, _EFD_NONBLOCK, 0) if e0 != 0 { syscall.Close(p) panic(err)