Revert "cmd/tailscaled: exit gracefully on SIGPIPE"

tailscaled receives a SIGPIPE when CLIs disconnect from it. We shouldn't
shut down in that case.

This reverts commit 43b271cb26.

Signed-off-by: David Anderson <danderson@tailscale.com>
reviewable/pr633/r1
David Anderson 4 years ago committed by Dave Anderson
parent 358cd3fd92
commit d64de1ddf7

@ -148,11 +148,10 @@ func run() error {
ctx, cancel := context.WithCancel(context.Background()) ctx, cancel := context.WithCancel(context.Background())
// Exit gracefully by cancelling the ipnserver context in most common cases: // Exit gracefully by cancelling the ipnserver context in most common cases:
// interrupted from the TTY (including when output is piped into e.g. grep) // interrupted from the TTY or killed by a service manager.
// or killed by a service manager.
go func() { go func() {
interrupt := make(chan os.Signal, 1) interrupt := make(chan os.Signal, 1)
signal.Notify(interrupt, syscall.SIGINT, syscall.SIGPIPE, syscall.SIGTERM) signal.Notify(interrupt, syscall.SIGINT, syscall.SIGTERM)
select { select {
case s := <-interrupt: case s := <-interrupt:
logf("tailscaled got signal %v; shutting down", s) logf("tailscaled got signal %v; shutting down", s)

@ -464,17 +464,19 @@ func (b *LocalBackend) updateFilter(netMap *controlclient.NetworkMap, prefs *Pre
return return
} }
localNets := wgCIDRsToFilter(netMap.Addresses, advRoutes) if !haveNetmap {
switch {
case !haveNetmap:
b.logf("netmap packet filter: (not ready yet)") b.logf("netmap packet filter: (not ready yet)")
b.e.SetFilter(filter.NewAllowNone(b.logf)) b.e.SetFilter(filter.NewAllowNone(b.logf))
case shieldsUp: return
}
localNets := wgCIDRsToFilter(netMap.Addresses, advRoutes)
if shieldsUp {
b.logf("netmap packet filter: (shields up)") b.logf("netmap packet filter: (shields up)")
var prevFilter *filter.Filter // don't reuse old filter state var prevFilter *filter.Filter // don't reuse old filter state
b.e.SetFilter(filter.New(filter.Matches{}, localNets, prevFilter, b.logf)) b.e.SetFilter(filter.New(filter.Matches{}, localNets, prevFilter, b.logf))
default: } else {
b.logf("netmap packet filter: %v", packetFilter) b.logf("netmap packet filter: %v", packetFilter)
b.e.SetFilter(filter.New(packetFilter, localNets, b.e.GetFilter(), b.logf)) b.e.SetFilter(filter.New(packetFilter, localNets, b.e.GetFilter(), b.logf))
} }

Loading…
Cancel
Save