| Safe Haskell | None |
|---|---|
| Language | Haskell98 |
Control.Distributed.Process.Internal.Spawn
- spawn :: NodeId -> Closure (Process ()) -> Process ProcessId
- spawnLink :: NodeId -> Closure (Process ()) -> Process ProcessId
- spawnMonitor :: NodeId -> Closure (Process ()) -> Process (ProcessId, MonitorRef)
- call :: Serializable a => Static (SerializableDict a) -> NodeId -> Closure (Process a) -> Process a
- spawnSupervised :: NodeId -> Closure (Process ()) -> Process (ProcessId, MonitorRef)
- spawnChannel :: forall a. Serializable a => Static (SerializableDict a) -> NodeId -> Closure (ReceivePort a -> Process ()) -> Process (SendPort a)
Documentation
spawn :: NodeId -> Closure (Process ()) -> Process ProcessId Source #
Spawn a process
For more information about Closure, see Control.Distributed.Process.Closure.
See also call.
spawnMonitor :: NodeId -> Closure (Process ()) -> Process (ProcessId, MonitorRef) Source #
Like spawnLink, but monitor the spawned process
call :: Serializable a => Static (SerializableDict a) -> NodeId -> Closure (Process a) -> Process a Source #
Run a process remotely and wait for it to reply
We monitor the remote process: if it dies before it can send a reply, we die too.
For more information about Static, SerializableDict, and Closure, see Control.Distributed.Process.Closure.
See also spawn.
spawnSupervised :: NodeId -> Closure (Process ()) -> Process (ProcessId, MonitorRef) Source #
Spawn a child process, have the child link to the parent and the parent monitor the child
spawnChannel :: forall a. Serializable a => Static (SerializableDict a) -> NodeId -> Closure (ReceivePort a -> Process ()) -> Process (SendPort a) Source #
Spawn a new process, supplying it with a new ReceivePort and return the corresponding SendPort.