support running in a FreeBSD jail

Since devd apparently can't be made to work in a FreeBSD jail
fall back to polling.

Fixes tailscale#2858

Signed-off-by: Todd Neal <todd@tneal.org>
This commit is contained in:
Todd Neal 2021-12-05 20:26:38 -06:00 committed by Brad Fitzpatrick
parent 69de3bf7bf
commit eeccbccd08
2 changed files with 5 additions and 4 deletions

View File

@ -25,10 +25,11 @@ type devdConn struct {
conn net.Conn
}
func newOSMon(logf logger.Logf, _ *Mon) (osMon, error) {
func newOSMon(logf logger.Logf, m *Mon) (osMon, error) {
conn, err := net.Dial("unixpacket", "/var/run/devd.seqpacket.pipe")
if err != nil {
return nil, fmt.Errorf("devd dial error: %v", err)
logf("devd dial error: %v, falling back to polling method", err)
return newPollingMon(logf, m)
}
return &devdConn{conn}, nil
}

View File

@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build !freebsd && !windows && !darwin
// +build !freebsd,!windows,!darwin
//go:build !windows && !darwin
// +build !windows,!darwin
package monitor