diff --git a/cmd/syncthing/main.go b/cmd/syncthing/main.go index afb33047..475cc538 100644 --- a/cmd/syncthing/main.go +++ b/cmd/syncthing/main.go @@ -601,7 +601,6 @@ func syncthingMain() { m := model.NewModel(cfg, myID, myName, "syncthing", Version, ldb) cfg.Subscribe(m) - mainSvc.Add(m) if t := os.Getenv("STDEADLOCKTIMEOUT"); len(t) > 0 { it, err := strconv.Atoi(t) @@ -634,6 +633,8 @@ func syncthingMain() { } } + mainSvc.Add(m) + // GUI setupGUI(mainSvc, cfg, m, apiSub) diff --git a/internal/model/model.go b/internal/model/model.go index 39956f97..2de748c4 100644 --- a/internal/model/model.go +++ b/internal/model/model.go @@ -179,6 +179,7 @@ func (m *Model) StartFolderRW(folder string) { if !ok { l.Fatalf("Requested versioning type %q that does not exist", cfg.Versioning.Type) } + versioner := factory(folder, cfg.Path(), cfg.Versioning.Params) if service, ok := versioner.(suture.Service); ok { // The versioner implements the suture.Service interface, so @@ -189,7 +190,7 @@ func (m *Model) StartFolderRW(folder string) { p.versioner = versioner } - go p.Serve() + m.Add(p) } // StartFolderRO starts read only processing on the current model. When in diff --git a/test/h2/config.xml b/test/h2/config.xml index 5bf45a9f..e24e9011 100644 --- a/test/h2/config.xml +++ b/test/h2/config.xml @@ -3,31 +3,31 @@ - - + + - false 1 16 0 + random - false 1 16 0 + random - false 1 16 0 + random
127.0.0.1:22001
@@ -57,6 +57,7 @@ true 0 1 + 10 -1 true @@ -66,5 +67,6 @@ 5 true false + 0 diff --git a/test/h3/config.xml b/test/h3/config.xml index 060a531c..716f9fc1 100644 --- a/test/h3/config.xml +++ b/test/h3/config.xml @@ -1,24 +1,24 @@ - - + + - false 1 16 0 + random - + - false 1 16 0 + random
127.0.0.1:22001
@@ -48,6 +48,7 @@ false 0 30 + 10 -1 true @@ -57,5 +58,6 @@ 5 true false + 0