aboutsummaryrefslogtreecommitdiff
path: root/Assistant/Threads
Commit message (Collapse)AuthorAge
* improve thread termination handlingGravatar Joey Hess2012-06-28
| | | | | | | | | | The reason the DirWatcher had to wait for program termination was because it used withINotify, so when it finished, its watcher threads were killed. But since I have two DirWatcher threads now, that was not good, and could perhaps explain the MVar problem I saw yesterday. In any case, fixed this part of the code by making the DirWatcher return a handle that can be used to stop it, and now the main Assistant thread is the only one calling waitForTermination.
* tweakGravatar Joey Hess2012-06-28
|
* merge conflict resolution now workingGravatar Joey Hess2012-06-27
| | | | | | | | | | | Avoid MVar deadlock issue, which I don't understand. Have not taken the time to debug it fully, because it turns out I don't need to resolve merge conflicts when a new branch ref is written... I think. Ensure the git-annex branch is merged when doing a manual pull. Otherwise it can get out of sync, since git-annex normally only merges it once per run.
* actually fetch from remote when doing a manual pullGravatar Joey Hess2012-06-27
| | | | forgot to do this
* automatic conflict resolution for assistantGravatar Joey Hess2012-06-27
|
* use a TMVarGravatar Joey Hess2012-06-26
| | | | | | | SampleMVar won't work; between getting the current value and changing it, another thread could made a change, which would get lost. TMVar works well; this update situation is handled by atomic transactions.
* fixup merges now done when neededGravatar Joey Hess2012-06-25
|
* add a push retry threadGravatar Joey Hess2012-06-25
|
* reorg threadsGravatar Joey Hess2012-06-25