aboutsummaryrefslogtreecommitdiff
path: root/Utility/DirWatcher.hs
Commit message (Collapse)AuthorAge
* disable closingTracked on OSXGravatar Joey Hess2017-06-09
| | | | | | | | Don't trust OSX FSEvents's eventFlagItemModified to be called when the last writer of a file closes it; apparently that sometimes does not happen, which prevented files from being quickly added. This commit was sponsored by John Peloquin on Patreon.
* removed all uses of undefined from code baseGravatar Joey Hess2015-04-19
| | | | It's a code smell, can lead to hard to diagnose error messages.
* update my email address and homepage urlGravatar Joey Hess2015-01-21
|
* relicense general utility library code to BSDGravatar Joey Hess2014-05-10
| | | | | Omitted a couple of files what have had significant contributions from others.
* annex.startupscan can be set to false to disable the assistant's startup scan.Gravatar Joey Hess2014-03-05
|
* reorgGravatar Joey Hess2013-12-04
|
* use Win32-inotifyGravatar Joey Hess2013-11-12
| | | | May mean the watcher works on Windows. Untested.
* assistant: Fix OSX bug that prevented committing changed files to a ↵Gravatar Joey Hess2013-03-17
| | | | repository when in indirect mode.
* let's put type modules under the parent module, not in a Types directoryGravatar Joey Hess2013-03-10
|
* OSX FSEvents supportGravatar Joey Hess2012-12-27
| | | | | Needs work to deal with directory renames better; otherwise seems to basically work.
* whitespace fixesGravatar Joey Hess2012-12-13
|
* kqueue bugfix: apply pruner to changed filesGravatar Joey Hess2012-09-28
| | | | | It already applied the pruner when traversing directories, so .git is excluded, but .gitignore was not. Now it is.
* watch for changes to transfer info files, to update progress bars on uploadGravatar Joey Hess2012-09-20
| | | | | | | | | | | | | | This is handled differently for inotify, which can track modifications of existing files, and kqueue, which cannot (TTBOMK). On the inotify side, the TransferWatcher just waits for the file to be updated and reads the new bytesComplete. On the kqueue side, the TransferPoller has to re-read the file every update (currently 0.5 seconds, might need to increase that). I did think about working around kqueue's limitations by somehow creating a new file each time the size changed. But cleaning up all the files that would result seemed difficult. And really, this is not a lot worse than the TransferWatcher's behavior for downloads, which stats a file every 0.5 seconds. As long as the OS has decent file caching behavior..
* typoGravatar Joey Hess2012-06-28
|
* fix kqueue buildGravatar Joey Hess2012-06-28
|
* 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.
* typoGravatar Joey Hess2012-06-20
|
* add closingTracked flagGravatar Joey Hess2012-06-19
|
* add eventsCoalesceGravatar Joey Hess2012-06-19
|
* lifted out the kqueue and inotify to a generic DirWatcher interfaceGravatar Joey Hess2012-06-18
Kqueue code for dispatching events is not tested and probably doesn't build.