@@ -12,7 +12,6 @@ module Node.Process
12
12
, getEnv
13
13
, lookupEnv
14
14
, setEnv
15
- , Pid (..)
16
15
, pid
17
16
, platform
18
17
, exit
@@ -31,6 +30,9 @@ import Data.Maybe (Maybe())
31
30
import Data.Maybe.Unsafe (fromJust )
32
31
import Data.StrMap (StrMap ())
33
32
import Data.StrMap as StrMap
33
+ import Data.Posix (Pid ())
34
+ import Data.Posix.Signal (Signal ())
35
+ import Data.Posix.Signal as Signal
34
36
import Node.Stream (Readable (), Writable ())
35
37
import Unsafe.Coerce (unsafeCoerce )
36
38
@@ -59,8 +61,11 @@ foreign import onBeforeExit :: forall eff. Eff (process :: PROCESS | eff) Unit -
59
61
-- | to exit with.
60
62
foreign import onExit :: forall eff . (Int -> Eff (process :: PROCESS | eff ) Unit ) -> Eff (process :: PROCESS | eff ) Unit
61
63
64
+ foreign import onSignalImpl :: forall eff . String -> Eff (process :: PROCESS | eff ) Unit -> Eff (process :: PROCESS | eff ) Unit
65
+
62
66
-- | Install a handler for a particular signal.
63
- foreign import onSignal :: forall eff . String -> Eff (process :: PROCESS | eff ) Unit -> Eff (process :: PROCESS | eff ) Unit
67
+ onSignal :: forall eff . Signal -> Eff (process :: PROCESS | eff ) Unit -> Eff (process :: PROCESS | eff ) Unit
68
+ onSignal sig = onSignalImpl (Signal .toString sig)
64
69
65
70
-- | Register a callback to run as soon as the current event loop runs to
66
71
-- | completion.
@@ -101,11 +106,6 @@ lookupEnv k = StrMap.lookup k <$> getEnv
101
106
-- | Set an environment variable.
102
107
foreign import setEnv :: forall eff . String -> String -> Eff (process :: PROCESS | eff ) Unit
103
108
104
- newtype Pid = Pid Int
105
-
106
- runPid :: Pid -> Int
107
- runPid (Pid x) = x
108
-
109
109
pid :: Pid
110
110
pid = process.pid
111
111
0 commit comments