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