d1da9cf221
Test suite now passes with -threaded! I traced back all the hangs with -threaded to System.Cmd.Utils. It seems it's just crappy/unsafe/outdated, and should not be used. System.Process seems to be the cool new thing, so converted all the code to use it instead. In the process, --debug stopped printing commands it runs. I may try to bring that back later. Note that even SafeSystem was switched to use System.Process. Since that was a modified version of code from System.Cmd.Utils, it needed to be converted too. I also got rid of nearly all calls to forkProcess, and all calls to executeFile, which I'm also doubtful about working well with -threaded.
31 lines
857 B
Haskell
31 lines
857 B
Haskell
module Common (module X) where
|
|
|
|
import Control.Monad as X hiding (join)
|
|
import Control.Monad.IfElse as X
|
|
import Control.Applicative as X
|
|
import Control.Monad.State.Strict as X (liftIO)
|
|
import Control.Exception.Extensible as X (IOException)
|
|
|
|
import Data.Maybe as X
|
|
import Data.List as X hiding (head, tail, init, last)
|
|
import Data.String.Utils as X
|
|
|
|
import System.Path as X
|
|
import System.FilePath as X
|
|
import System.Directory as X
|
|
import System.IO as X hiding (FilePath)
|
|
import System.Posix.Files as X
|
|
import System.Posix.IO as X
|
|
import System.Exit as X
|
|
|
|
import Utility.Misc as X
|
|
import Utility.Exception as X
|
|
import Utility.SafeCommand as X
|
|
import Utility.Process as X
|
|
import Utility.Path as X
|
|
import Utility.Directory as X
|
|
import Utility.Monad as X
|
|
import Utility.Applicative as X
|
|
import Utility.FileSystemEncoding as X
|
|
|
|
import Utility.PartialPrelude as X
|