all, vendor: Switch back to non-forked thejerf/suture (#5171)

This commit is contained in:
Jakob Borg 2018-09-08 11:56:56 +02:00 committed by Audrius Butkevicius
parent 8aa2d8d92c
commit 9e00b619ab
18 changed files with 47 additions and 44 deletions

View File

@ -19,11 +19,11 @@ import (
"strings"
"time"
"github.com/calmh/suture"
"github.com/prometheus/client_golang/prometheus/promhttp"
"github.com/syncthing/syncthing/lib/protocol"
"github.com/syncthing/syncthing/lib/tlsutil"
"github.com/syndtr/goleveldb/leveldb/opt"
"github.com/thejerf/suture"
)
const (
@ -165,7 +165,7 @@ func main() {
// Root of the service tree.
main := suture.New("main", suture.Spec{
PanicPanics: true,
PassThroughPanics: true,
})
// Start the database.

View File

@ -23,13 +23,13 @@ import (
"testing"
"time"
"github.com/calmh/suture"
"github.com/d4l3k/messagediff"
"github.com/syncthing/syncthing/lib/config"
"github.com/syncthing/syncthing/lib/events"
"github.com/syncthing/syncthing/lib/fs"
"github.com/syncthing/syncthing/lib/protocol"
"github.com/syncthing/syncthing/lib/sync"
"github.com/thejerf/suture"
)
func TestCSRFToken(t *testing.T) {
@ -78,7 +78,7 @@ func TestStopAfterBrokenConfig(t *testing.T) {
srv.started = make(chan string)
sup := suture.New("test", suture.Spec{
PanicPanics: true,
PassThroughPanics: true,
})
sup.Add(srv)
sup.ServeBackground()
@ -490,7 +490,7 @@ func startHTTP(cfg *mockedConfig) (string, error) {
// Actually start the API service
supervisor := suture.New("API test", suture.Spec{
PanicPanics: true,
PassThroughPanics: true,
})
supervisor.Add(svc)
supervisor.ServeBackground()

View File

@ -47,7 +47,7 @@ import (
"github.com/syncthing/syncthing/lib/tlsutil"
"github.com/syncthing/syncthing/lib/upgrade"
"github.com/calmh/suture"
"github.com/thejerf/suture"
_ "net/http/pprof" // Need to import this to support STPROFILER.
)
@ -594,7 +594,7 @@ func syncthingMain(runtimeOptions RuntimeOptions) {
Log: func(line string) {
l.Debugln(line)
},
PanicPanics: true,
PassThroughPanics: true,
})
mainService.ServeBackground()

View File

@ -9,10 +9,10 @@ package main
import (
"time"
"github.com/calmh/suture"
"github.com/syncthing/syncthing/lib/events"
"github.com/syncthing/syncthing/lib/protocol"
"github.com/syncthing/syncthing/lib/sync"
"github.com/thejerf/suture"
)
// The folderSummaryService adds summary information events (FolderSummary and
@ -37,7 +37,7 @@ type folderSummaryService struct {
func newFolderSummaryService(cfg configIntf, m modelIntf) *folderSummaryService {
service := &folderSummaryService{
Supervisor: suture.New("folderSummaryService", suture.Spec{
PanicPanics: true,
PassThroughPanics: true,
}),
cfg: cfg,
model: m,

View File

@ -10,7 +10,7 @@ import (
"net"
stdsync "sync"
"github.com/calmh/suture"
"github.com/thejerf/suture"
)
type recv struct {

View File

@ -11,8 +11,8 @@ import (
"net"
"time"
"github.com/calmh/suture"
"github.com/syncthing/syncthing/lib/sync"
"github.com/thejerf/suture"
)
type Broadcast struct {
@ -36,7 +36,7 @@ func NewBroadcast(port int) *Broadcast {
Log: func(line string) {
l.Debugln(line)
},
PanicPanics: true,
PassThroughPanics: true,
}),
port: port,
inbox: make(chan []byte),

View File

@ -12,7 +12,7 @@ import (
"net"
"time"
"github.com/calmh/suture"
"github.com/thejerf/suture"
"golang.org/x/net/ipv6"
)
@ -36,7 +36,7 @@ func NewMulticast(addr string) *Multicast {
Log: func(line string) {
l.Debugln(line)
},
PanicPanics: true,
PassThroughPanics: true,
}),
inbox: make(chan []byte),
outbox: make(chan recv, 16),

View File

@ -30,7 +30,7 @@ import (
_ "github.com/syncthing/syncthing/lib/pmp"
_ "github.com/syncthing/syncthing/lib/upnp"
"github.com/calmh/suture"
"github.com/thejerf/suture"
"golang.org/x/time/rate"
)
@ -105,7 +105,7 @@ func NewService(cfg *config.Wrapper, myID protocol.DeviceID, mdl Model, tlsCfg *
Log: func(line string) {
l.Infoln(line)
},
PanicPanics: true,
PassThroughPanics: true,
}),
cfg: cfg,
myID: myID,
@ -130,9 +130,9 @@ func NewService(cfg *config.Wrapper, myID protocol.DeviceID, mdl Model, tlsCfg *
Log: func(line string) {
l.Infoln(line)
},
FailureThreshold: 2,
FailureBackoff: 600 * time.Second,
PanicPanics: true,
FailureThreshold: 2,
FailureBackoff: 600 * time.Second,
PassThroughPanics: true,
}),
}
cfg.Subscribe(service)

View File

@ -10,10 +10,10 @@ import (
stdsync "sync"
"time"
"github.com/calmh/suture"
"github.com/syncthing/syncthing/lib/protocol"
"github.com/syncthing/syncthing/lib/sync"
"github.com/syncthing/syncthing/lib/util"
"github.com/thejerf/suture"
)
// The CachingMux aggregates results from multiple Finders. Each Finder has
@ -52,7 +52,7 @@ type cachedError interface {
func NewCachingMux() CachingMux {
return &cachingMux{
Supervisor: suture.New("discover.cachingMux", suture.Spec{
PanicPanics: true,
PassThroughPanics: true,
}),
mut: sync.NewRWMutex(),
}

View File

@ -9,8 +9,8 @@ package discover
import (
"time"
"github.com/calmh/suture"
"github.com/syncthing/syncthing/lib/protocol"
"github.com/thejerf/suture"
)
// A Finder provides lookup services of some kind.

View File

@ -18,11 +18,11 @@ import (
"strconv"
"time"
"github.com/calmh/suture"
"github.com/syncthing/syncthing/lib/beacon"
"github.com/syncthing/syncthing/lib/events"
"github.com/syncthing/syncthing/lib/protocol"
"github.com/syncthing/syncthing/lib/rand"
"github.com/thejerf/suture"
)
type localClient struct {
@ -49,7 +49,7 @@ const (
func NewLocal(id protocol.DeviceID, addr string, addrList AddressLister) (FinderService, error) {
c := &localClient{
Supervisor: suture.New("local", suture.Spec{
PanicPanics: true,
PassThroughPanics: true,
}),
myID: id,
addrList: addrList,

View File

@ -22,7 +22,6 @@ import (
"strings"
"time"
"github.com/calmh/suture"
"github.com/syncthing/syncthing/lib/config"
"github.com/syncthing/syncthing/lib/connections"
"github.com/syncthing/syncthing/lib/db"
@ -36,6 +35,7 @@ import (
"github.com/syncthing/syncthing/lib/sync"
"github.com/syncthing/syncthing/lib/upgrade"
"github.com/syncthing/syncthing/lib/versioner"
"github.com/thejerf/suture"
)
var locationLocal *time.Location
@ -136,7 +136,7 @@ func NewModel(cfg *config.Wrapper, id protocol.DeviceID, clientName, clientVersi
Log: func(line string) {
l.Debugln(line)
},
PanicPanics: true,
PassThroughPanics: true,
}),
cfg: cfg,
db: ldb,

View File

@ -126,15 +126,15 @@ type Supervisor struct {
// Spec is used to pass arguments to the New function to create a
// supervisor. See the New function for full documentation.
type Spec struct {
Log func(string)
FailureDecay float64
FailureThreshold float64
FailureBackoff time.Duration
Timeout time.Duration
LogBadStop BadStopLogger
LogFailure FailureLogger
LogBackoff BackoffLogger
PanicPanics bool
Log func(string)
FailureDecay float64
FailureThreshold float64
FailureBackoff time.Duration
Timeout time.Duration
LogBadStop BadStopLogger
LogFailure FailureLogger
LogBackoff BackoffLogger
PassThroughPanics bool
}
/*
@ -178,6 +178,9 @@ failure count to zero.
Timeout is how long Suture will wait for a service to properly terminate.
The PassThroughPanics options can be set to let panics in services propagate
and crash the program, should this be desirable.
*/
func New(name string, spec Spec) (s *Supervisor) {
s = new(Supervisor)
@ -216,7 +219,7 @@ func New(name string, spec Spec) (s *Supervisor) {
} else {
s.timeout = spec.Timeout
}
s.recoverPanics = !spec.PanicPanics
s.recoverPanics = !spec.PassThroughPanics
// overriding these allows for testing the threshold behavior
s.getNow = time.Now

16
vendor/manifest vendored
View File

@ -74,14 +74,6 @@
"branch": "master",
"notests": true
},
{
"importpath": "github.com/calmh/suture",
"repository": "https://github.com/calmh/suture",
"vcs": "git",
"revision": "2741a6bb8fdeba8f30c948c83756edc4dd21b9c6",
"branch": "master",
"notests": true
},
{
"importpath": "github.com/calmh/xdr",
"repository": "https://github.com/calmh/xdr",
@ -440,6 +432,14 @@
"branch": "master",
"notests": true
},
{
"importpath": "github.com/thejerf/suture",
"repository": "https://github.com/thejerf/suture",
"vcs": "git",
"revision": "bf6ee6a0b047ebbe9ae07d847f750dd18c6a9276",
"branch": "master",
"notests": true
},
{
"importpath": "github.com/tjfoc/gmsm/sm4",
"repository": "https://github.com/tjfoc/gmsm",