diff --git a/System/Posix/Process.hsc b/System/Posix/Process.hsc
--- a/System/Posix/Process.hsc
+++ b/System/Posix/Process.hsc
@@ -244,12 +244,11 @@
 'forkProcess' comes with a giant warning: since any other running
 threads are not copied into the child process, it's easy to go wrong:
 e.g. by accessing some shared resource that was held by another thread
-in the parent.  Another example is the I\/O manager thread: since the
-I\/O manager isn't running in the child, attempting to do any
-Handle-based I\/O will deadlock.
+in the parent.
 
-Using 'forkProcess' in order to do 'executeFile' is likely to work.
-Anything else: you're on your own.
+GHC note: 'forkProcess' is not currently supported when using multiple
+processors (@+RTS -N@), although it is supported with @-threaded@ as
+long as only one processor is being used.
 -}
 
 forkProcess :: IO () -> IO ProcessID
diff --git a/include/HsUnixConfig.h b/include/HsUnixConfig.h
--- a/include/HsUnixConfig.h
+++ b/include/HsUnixConfig.h
@@ -140,7 +140,7 @@
 #define HAVE_LCHOWN 1
 
 /* Define to 1 if you have the <libutil.h> header file. */
-#define HAVE_LIBUTIL_H 1
+/* #undef HAVE_LIBUTIL_H */
 
 /* Define to 1 if you have the <limits.h> header file. */
 #define HAVE_LIMITS_H 1
@@ -281,7 +281,7 @@
 /* #undef USLEEP_RETURNS_VOID */
 
 /* Number of bits in a file offset, on hosts where this is settable. */
-#define _FILE_OFFSET_BITS 64
+/* #undef _FILE_OFFSET_BITS */
 
 /* Define for large files, on AIX-style hosts. */
 /* #undef _LARGE_FILES */
diff --git a/unix.cabal b/unix.cabal
--- a/unix.cabal
+++ b/unix.cabal
@@ -1,5 +1,5 @@
 name:		unix
-version:	2.4.0.1
+version:	2.4.0.2
 license:	BSD3
 license-file:	LICENSE
 maintainer:	libraries@haskell.org
