add the multiprocessing package to fulfill PEP 371
diff --git a/Lib/multiprocessing/dummy/connection.py b/Lib/multiprocessing/dummy/connection.py
new file mode 100644
index 0000000..dd2bcb9
--- /dev/null
+++ b/Lib/multiprocessing/dummy/connection.py
@@ -0,0 +1,61 @@
+#

+# Analogue of `multiprocessing.connection` which uses queues instead of sockets

+#

+# multiprocessing/dummy/connection.py

+#

+# Copyright (c) 2006-2008, R Oudkerk --- see COPYING.txt

+#

+

+__all__ = [ 'Client', 'Listener', 'Pipe' ]

+

+from Queue import Queue

+

+

+families = [None]

+

+

+class Listener(object):

+

+    def __init__(self, address=None, family=None, backlog=1):

+        self._backlog_queue = Queue(backlog)

+

+    def accept(self):

+        return Connection(*self._backlog_queue.get())

+

+    def close(self):

+        self._backlog_queue = None

+

+    address = property(lambda self: self._backlog_queue)

+

+

+def Client(address):

+    _in, _out = Queue(), Queue()

+    address.put((_out, _in))

+    return Connection(_in, _out)

+

+

+def Pipe(duplex=True):

+    a, b = Queue(), Queue()

+    return Connection(a, b), Connection(b, a)

+

+

+class Connection(object):

+

+    def __init__(self, _in, _out):

+        self._out = _out

+        self._in = _in

+        self.send = self.send_bytes = _out.put

+        self.recv = self.recv_bytes = _in.get

+

+    def poll(self, timeout=0.0):

+        if self._in.qsize() > 0:

+            return True

+        if timeout <= 0.0:

+            return False

+        self._in.not_empty.acquire()

+        self._in.not_empty.wait(timeout)

+        self._in.not_empty.release()

+        return self._in.qsize() > 0

+

+    def close(self):

+        pass