@@ -116,6 +116,7 @@ import Control.Distributed.Process.Internal.Types
116116 , payloadToMessage
117117 , createMessage
118118 , runLocalProcess
119+ , firstNonReservedProcessId
119120 )
120121import Control.Distributed.Process.Serializable (Serializable)
121122import Control.Distributed.Process.Internal.Messaging
@@ -151,7 +152,7 @@ createBareLocalNode endPoint rtable = do
151152 unq <- randomIO
152153 state <- newMVar LocalNodeState
153154 { _localProcesses = Map.empty
154− , _localPidCounter = 0
155+ , _localPidCounter = firstNonReservedProcessId
155156 , _localPidUnique = unq
156157 , _localConnections = Map.empty
157158 }
@@ -235,7 +236,7 @@ forkProcess node proc = modifyMVar (localState node) startProcess
235236 then do
236237 newUnique <- randomIO
237238 return ( (localProcessWithId lpid ^= Just lproc)
238− . (localPidCounter ^= 0)
239+ . (localPidCounter ^= firstNonReservedProcessId)
239240 . (localPidUnique ^= newUnique)
240241 $ st
241242 , pid