| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2015-11-01 | merge changes from concurrent-output | Joey Hess | |
| 2015-10-29 | generalize what can be output | Joey 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-28 | example | Joey Hess | |
| 2015-10-28 | propellor spin | Joey Hess | |
| 2015-10-28 | have to flush concurrent output before printing result when chaining | Joey Hess | |
| 2015-10-28 | export lockOutput | Joey Hess | |
| 2015-10-28 | remove externals | Joey Hess | |
| 2015-10-28 | better lock taking using STM, and wait for concurrent processes writer ↵ | Joey Hess | |
| threads on shutdown | |||
| 2015-10-28 | remove debug code | Joey Hess | |
| 2015-10-28 | fix memory leak, and optimise when command output is very large | Joey Hess | |
| 2015-10-28 | fix buffer order | Joey Hess | |
| Build it up reversed, and reverse when processing. | |||
| 2015-10-28 | work around waitForProcess race condition | Joey Hess | |
| https://github.com/haskell/process/issues/46 | |||
| 2015-10-28 | fix tricky race | Joey 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-28 | fix bad MVar use, use STM | Joey 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-28 | need withConcurrentOutput to flush any buffered concurrent output | Joey Hess | |
| 2015-10-28 | propellor spin | Joey Hess | |
| 2015-10-28 | propellor spin | Joey Hess | |
| 2015-10-28 | use outputConcurrent interface | Joey 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-28 | propellor spin | Joey Hess | |
| 2015-10-28 | propellor spin | Joey Hess | |
| 2015-10-28 | improve comment | Joey Hess | |
| 2015-10-28 | don't truncate over-large output; swap to temp files | Joey Hess | |
| 2015-10-28 | split out generic ConcurrentOutput module to Utility | Joey Hess | |
