From 1c79fa4e96361735002eecb04c0933c51ba53d77 Mon Sep 17 00:00:00 2001 From: Toby Chui Date: Sun, 17 Nov 2024 08:38:13 +0800 Subject: [PATCH] Fixed #394 --- src/mod/netstat/netstat.go | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/mod/netstat/netstat.go b/src/mod/netstat/netstat.go index dadeabd..d39cd34 100644 --- a/src/mod/netstat/netstat.go +++ b/src/mod/netstat/netstat.go @@ -169,9 +169,16 @@ func (n *NetStatBuffers) HandleGetBufferedNetworkInterfaceStats(w http.ResponseW } func (n *NetStatBuffers) Close() { - n.StopChan <- true - time.Sleep(300 * time.Millisecond) - n.EventTicker.Stop() + //Fixed issue #394 for stopping netstat listener on platforms not supported platforms + if n.StopChan != nil { + n.StopChan <- true + time.Sleep(300 * time.Millisecond) + } + + if n.EventTicker != nil { + n.EventTicker.Stop() + } + } func (n *NetStatBuffers) HandleGetNetworkInterfaceStats(w http.ResponseWriter, r *http.Request) { @@ -270,11 +277,11 @@ func (n *NetStatBuffers) GetNetworkInterfaceStats() (int64, int64, error) { allIfaceRxByteFiles, err := filepath.Glob("/sys/class/net/*/statistics/rx_bytes") if err != nil { //Permission denied - return 0, 0, errors.New("Access denied") + return 0, 0, errors.New("access denied") } if len(allIfaceRxByteFiles) == 0 { - return 0, 0, errors.New("No valid iface found") + return 0, 0, errors.New("no valid iface found") } rxSum := int64(0) @@ -334,5 +341,5 @@ func (n *NetStatBuffers) GetNetworkInterfaceStats() (int64, int64, error) { return 0, 0, nil //no ethernet adapters with en*/ } - return 0, 0, errors.New("Platform not supported") + return 0, 0, errors.New("platform not supported") }