@@ -12,7 +12,6 @@ module Node.Process
1212 , getEnv
1313 , lookupEnv
1414 , setEnv
15- , Pid (..)
1615 , pid
1716 , platform
1817 , exit
@@ -31,6 +30,9 @@ import Data.Maybe (Maybe())
3130import Data.Maybe.Unsafe (fromJust )
3231import Data.StrMap (StrMap ())
3332import Data.StrMap as StrMap
33+ import Data.Posix (Pid ())
34+ import Data.Posix.Signal (Signal ())
35+ import Data.Posix.Signal as Signal
3436import Node.Stream (Readable (), Writable ())
3537import Unsafe.Coerce (unsafeCoerce )
3638
@@ -59,8 +61,11 @@ foreign import onBeforeExit :: forall eff. Eff (process :: PROCESS | eff) Unit -
5961-- | to exit with.
6062foreign import onExit :: forall eff . (Int -> Eff (process :: PROCESS | eff ) Unit ) -> Eff (process :: PROCESS | eff ) Unit
6163
64+ foreign import onSignalImpl :: forall eff . String -> Eff (process :: PROCESS | eff ) Unit -> Eff (process :: PROCESS | eff ) Unit
65+
6266-- | 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)
6469
6570-- | Register a callback to run as soon as the current event loop runs to
6671-- | completion.
@@ -101,11 +106,6 @@ lookupEnv k = StrMap.lookup k <$> getEnv
101106-- | Set an environment variable.
102107foreign import setEnv :: forall eff . String -> String -> Eff (process :: PROCESS | eff ) Unit
103108
104- newtype Pid = Pid Int
105-
106- runPid :: Pid -> Int
107- runPid (Pid x) = x
108-
109109pid :: Pid
110110pid = process.pid
111111
0 commit comments