diff --git a/go.mod b/go.mod index 86c4a3c..558511e 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,3 @@ -module github.com/cakturk/go-netstat +module github.com/nodauf/go-netstat go 1.13 diff --git a/netstat/netstat_linux.go b/netstat/netstat_linux.go index 05fb56d..7dd03de 100644 --- a/netstat/netstat_linux.go +++ b/netstat/netstat_linux.go @@ -153,6 +153,7 @@ func parseSocktab(r io.Reader, accept AcceptFn) ([]SockTabEntry, error) { } e.UID = uint32(u) e.ino = fields[9] + extractProcInfo(&e) if accept(&e) { tab = append(tab, e) } @@ -163,7 +164,7 @@ func parseSocktab(r io.Reader, accept AcceptFn) ([]SockTabEntry, error) { type procFd struct { base string pid int - sktab []SockTabEntry + sktab *SockTabEntry p *Process } @@ -200,8 +201,7 @@ func (p *procFd) iterFdDir() { continue } - for i := range p.sktab { - sk := &p.sktab[i] + sk := p.sktab ss := sockPrefix + sk.ino + "]" if ss != lname { continue @@ -221,11 +221,10 @@ func (p *procFd) iterFdDir() { p.p = &Process{p.pid, name} } sk.Process = p.p - } } } -func extractProcInfo(sktab []SockTabEntry) { +func extractProcInfo(sktab *SockTabEntry) { const basedir = "/proc" fi, err := ioutil.ReadDir(basedir) if err != nil { @@ -257,7 +256,7 @@ func doNetstat(path string, fn AcceptFn) ([]SockTabEntry, error) { if err != nil { return nil, err } - extractProcInfo(tabs) + //extractProcInfo(tabs) return tabs, nil }