mirror of
https://github.com/octoleo/syncthing.git
synced 2024-12-23 03:18:59 +00:00
f528923d1e
* lib/model, cmd/syncthing: Wait for folder restarts to complete (fixes #5233) This is the somewhat ugly - but on the other hand clear - fix for what is really a somewhat thorny issue. To avoid zombie folder runners a new mutex is introduced that protects the RestartFolder operation. I hate adding more mutexes but the alternatives I can think of are worse. The other part of it is that the POST /rest/system/config operation now waits for the config commit to complete. The point of this is that until the commit has completed we should not accept another config commit. If we did, we could end up with two separate RestartFolders queued in the background. While they are both correct, and will run without interfering with each other, we can't guarantee the order in which they will run. Thus it could happen that the newer config got committed first, and the older config commited after that, leaving us with the wrong config running. * test * wip * hax * hax * unflake test * per folder mutexes * paranoia * race |
||
---|---|---|
.. | ||
testdata | ||
debug.go | ||
deviceactivity_test.go | ||
deviceactivity.go | ||
devicedownloadstate_test.go | ||
devicedownloadstate.go | ||
doc.go | ||
folder_recvonly_test.go | ||
folder_recvonly.go | ||
folder_sendonly.go | ||
folder_sendrecv_test.go | ||
folder_sendrecv.go | ||
folder.go | ||
folderstate.go | ||
model_test.go | ||
model.go | ||
progressemitter_test.go | ||
progressemitter.go | ||
queue_test.go | ||
queue.go | ||
requests_test.go | ||
sentdownloadstate.go | ||
sharedpullerstate_test.go | ||
sharedpullerstate.go | ||
util.go |