issue6643 - Two locks held within the threading module on each thread instance
needed to be reinitialized after fork().  Adds tests to confirm that they are
and that a potential deadlock and crasher bug are fixed (platform dependant).
diff --git a/Lib/threading.py b/Lib/threading.py
index 01c27b8..b586bb0 100644
--- a/Lib/threading.py
+++ b/Lib/threading.py
@@ -1064,6 +1064,10 @@
                 # its new value since it can have changed.
                 ident = _get_ident()
                 thread._ident = ident
+                # Any condition variables hanging off of the active thread may
+                # be in an invalid state, so we reinitialize them.
+                thread._block.__init__()
+                thread._started._cond.__init__()
                 new_active[ident] = thread
             else:
                 # All the others are already stopped.