@@ -177,7 +177,11 @@ _ `impliesDeathOf` _ =
177177 False
178178
179179
180−-- Send a control message
180+-- Send a control message. Evaluates the message to HNF before sending it.
181+--
182+-- The message shouldn't produce more errors when further evaluated. If
183+-- evaluation threw errors the node controller or the receiver would crash when
184+-- inspecting it.
181185sendCtrlMsg :: Maybe NodeId -- ^ Nothing for the local node
182186 -> ProcessSignal -- ^ Message to send
183187 -> Process ()
@@ -188,7 +192,7 @@ sendCtrlMsg mNid signal = do
188192 }
189193 case mNid of
190194 Nothing -> do
191− liftIO $ writeChan (localCtrlChan (processNode proc)) msg
195+ liftIO $ writeChan (localCtrlChan (processNode proc)) $! msg
192196 Just nid ->
193197 liftIO $ sendBinary (processNode proc)
194198 (ProcessIdentifier (processId proc))