portlist: wait for lsof cmd to exit

We were leaking processes otherwise.

Co-authored-by: Mihai Parparita <mihai@tailscale.com>
Signed-off-by: Maisem Ali <maisem@tailscale.com>
pull/6379/head
Maisem Ali 2 years ago committed by Maisem Ali
parent a97369f097
commit b5299d7d0e

@ -159,6 +159,15 @@ func (im *macOSImpl) addProcesses() error {
}
return nil
}
defer func() {
ps, err := lsofCmd.Process.Wait()
if err != nil || ps.ExitCode() != 0 {
log.Printf("portlist: can't run lsof in Mac sandbox; omitting process names from service list. Error: %v, exit code %d", err, ps.ExitCode())
lsofFailed.Store(true)
}
}()
defer lsofCmd.Process.Kill()
im.br.Reset(outPipe)
var cmd, proto string

Loading…
Cancel
Save