tailscale/portlist
Avery Pennarun 806de4ac94 portlist: fix "readdirent: no such file or directory" errors on Linux.
This could happen when a process disappeared while we were reading its
file descriptor list.

I was able to replicate the problem by running this in another
terminal:

    while :; do for i in $(seq 10); do
      /bin/true & done >&/dev/null; wait >&/dev/null;
    done

And then running the portlist tests thousands of times.

Fixes #339.

Signed-off-by: Avery Pennarun <apenwarr@tailscale.com>
2020-05-19 01:51:21 -04:00
..
netstat_exec.go portlist: move code around to avoid unused function warnings. 2020-04-30 20:31:44 -07:00
netstat_test.go portlist: ignore ports bound to localhost 2020-03-17 20:55:45 -07:00
netstat.go portlist: move code around to avoid unused function warnings. 2020-04-30 20:31:44 -07:00
poller.go portlist: fail earlier, more nicely on iOS 2020-04-06 20:11:24 -07:00
portlist_ios.go portlist: don't depend on tempfork/osexec on iOS, saves 90KB 2020-04-07 07:58:09 -07:00
portlist_linux.go portlist: fix "readdirent: no such file or directory" errors on Linux. 2020-05-19 01:51:21 -04:00
portlist_macos.go portlist: reduce log spam/scariness for portlist in mac sandbox 2020-05-11 16:13:29 -07:00
portlist_other.go portlist: document, clean up, fix an open fd spike, optimize a bit 2020-03-13 21:06:41 -07:00
portlist_test.go portlist: fix "readdirent: no such file or directory" errors on Linux. 2020-05-19 01:51:21 -04:00
portlist_windows.go portlist: move code around to avoid unused function warnings. 2020-04-30 20:31:44 -07:00
portlist.go Fix macOS build 2020-05-08 21:14:41 -07:00