summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2015-11-11Merge branch 'joeyconfig'Joey Hess
2015-11-11rename for clarityJoey Hess
2015-11-11Merge branch 'joeyconfig'Joey Hess
2015-11-11Add Propellor.Property.PropellorRepo.hasUrl, an explicit way to set the git ↵Joey Hess
repository url normally implicitly set when using --spin.
2015-11-08Merge branch 'joeyconfig'Joey Hess
2015-11-06merge from concurrent-outputJoey Hess
2015-11-01propellor spinJoey Hess
2015-11-01merge from concurrent-outputJoey Hess
2015-11-01propellor spinJoey Hess
2015-11-01propellor spinJoey Hess
2015-11-01propellor spinJoey Hess
2015-11-01propellor spinJoey Hess
2015-11-01merge from concurrent-outputJoey Hess
2015-11-01run editor processes in foregroundJoey Hess
2015-11-01merge from concurrent-outputJoey Hess
2015-11-01a few tweaks for concurrent outputJoey Hess
Force console mode when --spin calls SimpleRun
2015-11-01Revert "propellor spin"Joey Hess
This reverts commit 2891006d9f18b9f50b7d8dfc6d32e326499913f0.
2015-11-01propellor spinJoey Hess
2015-11-01merge changes from concurrent-outputJoey Hess
2015-11-01Merge branch 'joeyconfig'Joey Hess
2015-11-01take dkim out of test modeJoey Hess
2015-10-29generalize what can be outputJoey Hess
This adds a dependency on Text, but I don't mind propellor depending on it and am somewhat surprised it doesn't already. Using Text also lets this use encodeUtf8 instead of the nasty hack it was using to go from String -> ByteString.
2015-10-28exampleJoey Hess
2015-10-28propellor spinJoey Hess
2015-10-28propellor spinJoey Hess
2015-10-28propellor spinJoey Hess
2015-10-28have to flush concurrent output before printing result when chainingJoey Hess
2015-10-28export lockOutputJoey Hess
2015-10-28remove externalsJoey Hess
2015-10-28better lock taking using STM, and wait for concurrent processes writer ↵Joey Hess
threads on shutdown
2015-10-28remove debug codeJoey Hess
2015-10-28fix memory leak, and optimise when command output is very largeJoey Hess
2015-10-28fix buffer orderJoey Hess
Build it up reversed, and reverse when processing.
2015-10-28work around waitForProcess race conditionJoey Hess
https://github.com/haskell/process/issues/46
2015-10-28fix tricky raceJoey Hess
Race between 2 calls to takeOutputLock'. The first call empties the TMVar, and does some work to check it. Meanwhile, the second call could sneak in, see it was empty, and call waitlock. Since waitlock used tryTakeTMVar, that would not block it, and it would think it had the lock, filling the TMVar. In the meantime, the first call could decide it had to lock and go on to possibly cause trouble.
2015-10-28fix bad MVar use, use STMJoey Hess
I had 2 MVars both involved in the same lock, and it seemed intractable to avoid deadlocks with them. STM makes it easy. At this point, the concurrent process stuff seems to work pretty well, but I'm not 100% sure it's not got some bugs.
2015-10-28need withConcurrentOutput to flush any buffered concurrent outputJoey Hess
2015-10-28propellor spinJoey Hess
2015-10-28propellor spinJoey Hess
2015-10-28use outputConcurrent interfaceJoey Hess
This interface will fix the current deadlock when a process is running and the thread that ran it wants to output to the console. The locking and buffering is not implemented yet.
2015-10-28remove debugJoey Hess
Found problem.. actionMessage is blocking.
2015-10-28propellor spinJoey Hess
2015-10-28propellor spinJoey Hess
2015-10-28propellor spinJoey Hess
2015-10-28propellor spinJoey Hess
2015-10-28improve commentJoey Hess
2015-10-28don't truncate over-large output; swap to temp filesJoey Hess
2015-10-28split out generic ConcurrentOutput module to UtilityJoey Hess
2015-10-28concurrency docsJoey Hess
2015-10-27use execProcessConcurrent everywhereJoey Hess
Found a reasonable clean way to make Utility.Process use execProcessConcurrent, while still allowing copying updates to it from git-annex.