From 63f6630a0a8513b1157744852fd16bedfbb39eea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=96=E7=95=8C?= Date: Fri, 3 May 2024 15:32:43 +0800 Subject: [PATCH] Fix darwin monitor --- monitor_darwin.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/monitor_darwin.go b/monitor_darwin.go index 42f9c36..bf9db84 100644 --- a/monitor_darwin.go +++ b/monitor_darwin.go @@ -57,14 +57,19 @@ func (m *networkUpdateMonitor) loopUpdate0() error { if err != nil { return err } + err = unix.SetNonblock(routeSocket, true) + if err != nil { + unix.Close(routeSocket) + return err + } routeSocketFile := os.NewFile(uintptr(routeSocket), "route") + defer routeSocketFile.Close() m.routeSocketFile = routeSocketFile m.loopUpdate1(routeSocketFile) return nil } func (m *networkUpdateMonitor) loopUpdate1(routeSocketFile *os.File) { - defer routeSocketFile.Close() buffer := buf.NewPacket() defer buffer.Release() done := make(chan struct{})