packages feed

process 1.6.3.0 → 1.6.4.0

raw patch · 6 files changed

+41/−12 lines, 6 filesdep ~basePVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: base

API changes (from Hackage documentation)

+ System.Process: cleanupProcess :: (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle) -> IO ()
- System.Process.Internals: data CGid :: *
+ System.Process.Internals: data CGid

Files

System/Process.hs view
@@ -43,6 +43,7 @@     readCreateProcessWithExitCode,     readProcessWithExitCode,     withCreateProcess,+    cleanupProcess,      -- ** Related utilities     showCommandForUser,@@ -245,7 +246,12 @@     C.bracketOnError (createProcess_ fun c) cleanupProcess                      (\(m_in, m_out, m_err, ph) -> action m_in m_out m_err ph) -+-- | Cleans up the process.+-- +-- This function is meant to be invoked from any application level cleanup +-- handler. It terminates the process, and closes any 'CreatePipe' 'handle's.+-- +-- @since 1.6.4.0 cleanupProcess :: (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle)                -> IO () cleanupProcess (mb_stdin, mb_stdout, mb_stderr,@@ -728,8 +734,10 @@ -- has indeed terminated, use 'getProcessExitCode'. -- -- On Unix systems, 'terminateProcess' sends the process the SIGTERM signal.--- On Windows systems, the Win32 @TerminateProcess@ function is called, passing--- an exit code of 1.+-- On Windows systems, if `use_process_jobs` is `True` then the Win32 @TerminateJobObject@+-- function is called to kill all processes associated with the job and passing the+-- exit code of 1 to each of them. Otherwise if `use_process_jobs` is `False` then the+-- Win32 @TerminateProcess@ function is called, passing an exit code of 1. -- -- Note: on Windows, if the process was a shell command created by -- 'createProcess' with 'shell', or created by 'runCommand' or
System/Process/Common.hs view
@@ -44,7 +44,7 @@ import GHC.IO.Handle.Types hiding (ClosedHandle) import System.IO.Error import Data.Typeable-import GHC.IO.IOMode+import System.IO (IOMode)  -- We do a minimal amount of CPP here to provide uniform data types across -- Windows and POSIX.
System/Process/Windows.hsc view
@@ -34,7 +34,7 @@ import GHC.IO.Handle.FD import GHC.IO.Handle.Types hiding (ClosedHandle) import System.IO.Error-import GHC.IO.IOMode+import System.IO (IOMode(..))  import System.Directory         ( doesFileExist ) import System.Environment       ( getEnv )@@ -208,7 +208,7 @@                  then Just <$> peek p_exitCode                  else return Nothing -insertItem :: Eq k => MVar [(k, v)] -> k -> v -> IO ()+insertItem :: MVar [(k, v)] -> k -> v -> IO () insertItem env_ k v = modifyMVar_ env_ (return . ((k, v):))  getItem :: Eq k => MVar [(k, v)] -> k -> IO v
cbits/runProcess.c view
@@ -111,6 +111,18 @@     r = pipe(forkCommunicationFds);     if (r == -1) {         *failed_doing = "runInteractiveProcess: pipe";+        if (fdStdIn == -1) {+            close(fdStdInput[0]);+            close(fdStdInput[1]);+        }+        if (fdStdOut == -1) {+            close(fdStdOutput[0]);+            close(fdStdOutput[1]);+        }+        if (fdStdErr == -1) {+            close(fdStdError[0]);+            close(fdStdError[1]);+        }         return -1;     } 
changelog.md view
@@ -1,5 +1,13 @@ # Changelog for [`process` package](http://hackage.haskell.org/package/process) +## 1.6.4.0 *July 2018*++* Bug fix: Don't leak pipes on failure+  [#122](https://github.com/haskell/process/issues/122)+* Expose `cleanupProcess` from `System.Process` +  [#130](https://github.com/haskell/process/pull/130)+* Drop support for GHC before 7.10.3+ ## 1.6.3.0 *January 2018*  * Added `getPid` and export of platform specific `Pid` type
process.cabal view
@@ -1,5 +1,5 @@ name:          process-version:       1.6.3.0+version:       1.6.4.0 -- NOTE: Don't forget to update ./changelog.md license:       BSD3 license-file:  LICENSE@@ -46,8 +46,7 @@         InterruptibleFFI         RecordWildCards         Trustworthy-    if impl(ghc>=7.9)-        other-extensions: Safe+        Safe      exposed-modules:         System.Cmd@@ -61,7 +60,7 @@         cpp-options: -DWINDOWS     else         other-modules: System.Process.Posix-        build-depends: unix >= 2.5 && < 2.8+        build-depends: unix >= 2.5 && < 2.9      c-sources:         cbits/runProcess.c@@ -74,7 +73,7 @@      ghc-options: -Wall -    build-depends: base      >= 4.4 && < 4.12,+    build-depends: base      >= 4.8.2 && < 4.13,                    directory >= 1.1 && < 1.4,                    filepath  >= 1.2 && < 1.5,                    deepseq   >= 1.1 && < 1.5@@ -84,7 +83,9 @@   hs-source-dirs: test   main-is: main.hs   type: exitcode-stdio-1.0-  build-depends: base+  -- Add otherwise redundant bounds on base since GHC's build system runs+  -- `cabal check`, which mandates bounds on base.+  build-depends: base >= 4 && < 5                , bytestring                , directory                , process