summaryrefslogtreecommitdiff
path: root/Assistant/ThreadedMonad.hs
Commit message (Collapse)AuthorAge
* fork off git-annex copy for transfersGravatar Joey Hess2012-08-10
| | | | | | | | | | | | | | This doesn't quite work, because canceling a transfer sends a signal to git-annex, but not to rsync (etc). Looked at making git-annex run in its own process group, which could then be killed, and would kill child processes. But, rsync checks if it's process group is the foreground process group and doesn't show progress if not, and when git has run git-annex, if git-annex makes a new process group, that is not the case. Also, if git has run git-annex, ctrl-c wouldn't be propigated to it if it made a new process group. So this seems like a blind alley, but recording it here just in case.
* run file transfers in threads, not processesGravatar Joey Hess2012-07-18
| | | | | | This should fix OSX/BSD issues with not noticing transfer information files with kqueue. Now that threads are used, the thread can manage the transfer slot allocation and deallocation by itself; much cleaner.
* add thread id field to transferinfoGravatar Joey Hess2012-07-18
| | | | | Also converted its timestand to posix seconds, like is used in the other log files.
* add missing importsGravatar Joey Hess2012-07-18
|
* fixed close-together transfer raceGravatar Joey Hess2012-07-06
| | | | | The issue involved forking and they trying to read from a MVar. Reading the MVar 1st fixed it.
* run transfer with copy of annex stateGravatar Joey Hess2012-07-05
| | | | | This should have made it run concurrently with other annex actions, but I'm still seeing it serialize. Perhaps I need to forkProcess?
* simplifyGravatar Joey Hess2012-06-28
| | | | modifyMVar_ catches exceptions, so no need to roll my own
* licenseGravatar Joey Hess2012-06-23
|
* stub syncer thread and commit channelGravatar Joey Hess2012-06-22
|
* catch IO exceptions in runThreadStateGravatar Joey Hess2012-06-15
| | | | | | | | | A few places catch IO errors after calling runThreadState, but since the MVar was not restored, it'd later deadlock trying to read from it. I'd like to catch all exceptions here, but I could not get the types to unify.
* reorganizeGravatar Joey Hess2012-06-13