فهرست منبع

lib/model: Cleanup conditions

GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/4621
Lars K.W. Gohlke 8 سال پیش
والد
کامیت
9988044bbe
2فایلهای تغییر یافته به همراه13 افزوده شده و 13 حذف شده
  1. 1 0
      README.md
  2. 12 13
      lib/model/model.go

+ 1 - 0
README.md

@@ -111,3 +111,4 @@ All code is licensed under the [MPLv2 License][7].
 [13]: https://github.com/syncthing/syncthing/blob/master/GOALS.md
 [14]: assets/logo-text-128.png
 [15]: https://syncthing.net/
+

+ 12 - 13
lib/model/model.go

@@ -382,12 +382,12 @@ func (m *Model) RestartFolder(cfg config.FolderConfiguration) {
 	m.pmut.Lock()
 
 	m.tearDownFolderLocked(cfg.ID)
-	if !cfg.Paused {
+	if cfg.Paused {
+		l.Infoln("Paused folder", cfg.Description())
+	} else {
 		m.addFolderLocked(cfg)
 		folderType := m.startFolderLocked(cfg.ID)
 		l.Infoln("Restarted folder", cfg.Description(), fmt.Sprintf("(%s)", folderType))
-	} else {
-		l.Infoln("Paused folder", cfg.Description())
 	}
 
 	m.pmut.Unlock()
@@ -1222,17 +1222,17 @@ func (m *Model) handleAutoAccepts(deviceCfg config.DeviceConfiguration, folder p
 		return false
 	}
 
-	// Folder already exists.
-	if !m.folderSharedWith(folder.ID, deviceCfg.DeviceID) {
-		m.fmut.Lock()
-		w := m.shareFolderWithDeviceLocked(deviceCfg.DeviceID, folder.ID, protocol.DeviceID{})
-		m.fmut.Unlock()
-		w.Wait()
-		l.Infof("Shared %s with %s due to auto-accept", folder.ID, deviceCfg.DeviceID)
-		return true
+	// Folder does not exist yet.
+	if m.folderSharedWith(folder.ID, deviceCfg.DeviceID) {
+		return false
 	}
 
-	return false
+	m.fmut.Lock()
+	w := m.shareFolderWithDeviceLocked(deviceCfg.DeviceID, folder.ID, protocol.DeviceID{})
+	m.fmut.Unlock()
+	w.Wait()
+	l.Infof("Shared %s with %s due to auto-accept", folder.ID, deviceCfg.DeviceID)
+	return true
 }
 
 func (m *Model) introduceDevice(device protocol.Device, introducerCfg config.DeviceConfiguration) {
@@ -2560,7 +2560,6 @@ func (m *Model) checkDeviceFolderConnectedLocked(device protocol.DeviceID, folde
 	if !m.folderDevices.has(device, folder) {
 		return errors.New("folder is not shared with device")
 	}
-
 	return nil
 }