f11f7520b5
The ctrl-c hack used before didn't actually seem to work. No haskell libraries expose TerminateProcess. I tried just calling it via FFI, but got segfaults, probably to do with the wacky process handle not being managed correctly. Moving it all into one C function worked. This was hell. The EvilLinker hack was just final icing on the cake. We all know what the cake was made of.
19 lines
370 B
Haskell
19 lines
370 B
Haskell
{- Windows processes
|
|
-
|
|
- Copyright 2014 Joey Hess <joey@kitenet.net>
|
|
-
|
|
- Licensed under the GNU GPL version 3 or higher.
|
|
-}
|
|
|
|
{-# LANGUAGE ForeignFunctionInterface #-}
|
|
|
|
module Utility.WinProcess where
|
|
|
|
import Utility.PID
|
|
|
|
import System.Win32.Process
|
|
import Foreign.C
|
|
import Control.Exception
|
|
|
|
foreign import ccall unsafe "terminatepid"
|
|
terminatePID :: PID -> IO ()
|