Based on comments from Paul Prescod:

If os.fork() doesn't exist, raise SystemError with an explanation at
the top of the module.  Added a note to the module docstring.
diff --git a/Lib/CGIHTTPServer.py b/Lib/CGIHTTPServer.py
index d5ec7b0..dc17392 100644
--- a/Lib/CGIHTTPServer.py
+++ b/Lib/CGIHTTPServer.py
@@ -3,6 +3,9 @@
 This module builds on SimpleHTTPServer by implementing GET and POST
 requests to cgi-bin scripts.
 
+If the os.fork() function is not present, this module will not work;
+SystemError will be raised instead.
+
 """
 
 
@@ -16,6 +19,12 @@
 import SimpleHTTPServer
 
 
+try:
+    os.fork
+except NameError:
+    raise SystemError, __name__ + " requires os.fork()"
+
+
 class CGIHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
 
     """Complete HTTP server with GET, HEAD and POST commands.
@@ -147,9 +156,9 @@
             ua = self.headers.getheader('user-agent')
             if ua:
                 env['HTTP_USER_AGENT'] = ua
-            co = self.headers.getheader('cookie')
+            co = filter(None, self.headers.getheaders('cookie'))
             if co:
-                env['HTTP_COOKIE'] = co
+                env['HTTP_COOKIE'] = string.join(co, ', ')
             # XXX Other HTTP_* headers
             decoded_query = string.replace(query, '+', ' ')
             try: