#8343: Interrupting readProcess doesn't work
--------------------------+------------------------------------------------
Reporter: akio | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: | Version: 7.6.3
libraries/base | Operating System: Linux
Keywords: | Type of failure: Incorrect result at runtime
Architecture: x86_64 | Test Case:
(amd64) | Blocking:
Difficulty: |
Unknown |
Blocked By: |
Related Tickets: #5766 |
--------------------------+------------------------------------------------
The following program should terminate in 1 second, but it does not:
{{{
import System.Process
import System.Timeout
main = timeout 1000000 $ print =<< readProcess "sleep" ["2h"] ""
}}}
The problem is in the exception handler in {{{readProcess}}}. When it
receives an asynchronous exception, it tries to clean up by closing the
pipes. However the attempt to close {{{outh}}} blocks because the reader
thread (reading with {{{hGetContents}}}) is blocking on the handle.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8343>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
ghc-tickets mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/ghc-tickets