forkProcess type changed?

Simon Marlow simonmar at
Thu Dec 11 15:54:12 EST 2003

> For the development snapshot 6.3.20031201, System.Posix.forkProcess
> has the type IO () -> IO System.Posix.Types.ProcessID.  In 6.0.1
> it has type IO () -> IO (Maybe System.Posix.Types.ProcessID).  Is
> this change intentional, and if so how are you supposed to test
> after the fork if this is the parent or child process?

Yes, this is intentional.  It turned out to be far too difficult to
implement forkProcess as it was previously defined (problems with what
happens when the current thread returns in the child process was one
difficulty, IIRC).  The previous implementation had some serious bugs.

See the docs for the new version here:


More information about the Glasgow-haskell-users mailing list