From e67aa7ad9825196ab5636285ff509c863fea8345 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 25 Jul 2023 10:40:01 -0700 Subject: [PATCH 1/2] Fix another Kill signal type arg --- CHANGELOG.md | 3 ++- src/Node/ChildProcess.purs | 2 +- src/Node/UnsafeChildProcess/Safe.purs | 8 ++++---- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2874114..c00eb9c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,11 +15,12 @@ Other improvements: ## [v11.0.0](https://github.com/purescript-node/purescript-node-child-process/releases/tag/v11.0.0) - 2023-07-25 Breaking changes: -- Update the signal arg from `String` to `KillSignal` (#51 by @JordanMartinez) +- Update the signal arg from `String` to `KillSignal` (#51, #52 by @JordanMartinez) - `Exit`'s `BySignal` constructor's arg - `exitH`/`closeH`'s signal arg - `spawnSync`'s `SpawnResult`'s `signal` field + - `kill'`'s signal arg New features: - Added `fromKillSignal` (#51 by @JordanMartinez) diff --git a/src/Node/ChildProcess.purs b/src/Node/ChildProcess.purs index 0ad853c..ac93ee4 100644 --- a/src/Node/ChildProcess.purs +++ b/src/Node/ChildProcess.purs @@ -173,7 +173,7 @@ disconnect = unsafeCoerce SafeCP.disconnect kill :: ChildProcess -> Effect Boolean kill = unsafeCoerce SafeCP.kill -kill' :: String -> ChildProcess -> Effect Boolean +kill' :: KillSignal -> ChildProcess -> Effect Boolean kill' = unsafeCoerce SafeCP.kill' -- | Send a signal to a child process. In the same way as the diff --git a/src/Node/UnsafeChildProcess/Safe.purs b/src/Node/UnsafeChildProcess/Safe.purs index 09dbf0b..cb06578 100644 --- a/src/Node/UnsafeChildProcess/Safe.purs +++ b/src/Node/UnsafeChildProcess/Safe.purs @@ -36,7 +36,7 @@ import Data.Posix.Signal as Signal import Effect (Effect) import Effect.Uncurried (EffectFn1, EffectFn2, mkEffectFn1, mkEffectFn2, runEffectFn1, runEffectFn2) import Foreign (Foreign) -import Node.ChildProcess.Types (Exit(..), Handle, KillSignal, StdIO, UnsafeChildProcess, ipc, pipe) +import Node.ChildProcess.Types (Exit(..), Handle, KillSignal, StdIO, UnsafeChildProcess, intSignal, ipc, pipe, stringSignal) import Node.Errors.SystemError (SystemError) import Node.EventEmitter (EventEmitter, EventHandle(..)) import Node.EventEmitter.UtilTypes (EventHandle0, EventHandle1) @@ -102,10 +102,10 @@ kill cp = runEffectFn1 killImpl cp foreign import killImpl :: EffectFn1 (UnsafeChildProcess) (Boolean) -kill' :: String -> UnsafeChildProcess -> Effect Boolean +kill' :: KillSignal -> UnsafeChildProcess -> Effect Boolean kill' sig cp = runEffectFn2 killStrImpl cp sig -foreign import killStrImpl :: EffectFn2 (UnsafeChildProcess) (String) (Boolean) +foreign import killStrImpl :: EffectFn2 (UnsafeChildProcess) (KillSignal) (Boolean) -- | Send a signal to a child process. In the same way as the -- | [unix kill(2) system call](https://linux.die.net/man/2/kill), @@ -116,7 +116,7 @@ foreign import killStrImpl :: EffectFn2 (UnsafeChildProcess) (String) (Boolean) -- | The child process might emit an `"error"` event if the signal -- | could not be delivered. killSignal :: Signal -> UnsafeChildProcess -> Effect Boolean -killSignal sig cp = kill' (Signal.toString sig) cp +killSignal sig cp = kill' (stringSignal $ Signal.toString sig) cp killed :: UnsafeChildProcess -> Effect Boolean killed cp = runEffectFn1 killedImpl cp From 37c01b4381e8f40b4304505e22397142f0e689e6 Mon Sep 17 00:00:00 2001 From: Jordan Martinez Date: Tue, 25 Jul 2023 10:50:25 -0700 Subject: [PATCH 2/2] Fix warning --- src/Node/UnsafeChildProcess/Safe.purs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Node/UnsafeChildProcess/Safe.purs b/src/Node/UnsafeChildProcess/Safe.purs index cb06578..555b1c1 100644 --- a/src/Node/UnsafeChildProcess/Safe.purs +++ b/src/Node/UnsafeChildProcess/Safe.purs @@ -36,7 +36,7 @@ import Data.Posix.Signal as Signal import Effect (Effect) import Effect.Uncurried (EffectFn1, EffectFn2, mkEffectFn1, mkEffectFn2, runEffectFn1, runEffectFn2) import Foreign (Foreign) -import Node.ChildProcess.Types (Exit(..), Handle, KillSignal, StdIO, UnsafeChildProcess, intSignal, ipc, pipe, stringSignal) +import Node.ChildProcess.Types (Exit(..), Handle, KillSignal, StdIO, UnsafeChildProcess, ipc, pipe, stringSignal) import Node.Errors.SystemError (SystemError) import Node.EventEmitter (EventEmitter, EventHandle(..)) import Node.EventEmitter.UtilTypes (EventHandle0, EventHandle1)