Merged revisions 73073-73074,73089 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r73073 | benjamin.peterson | 2009-05-31 09:43:00 -0500 (Sun, 31 May 2009) | 1 line

  remove function import
........
  r73074 | benjamin.peterson | 2009-05-31 10:00:27 -0500 (Sun, 31 May 2009) | 1 line

  __enter__ and __exit__ must be on the class
........
  r73089 | andrew.kuchling | 2009-05-31 19:14:19 -0500 (Sun, 31 May 2009) | 1 line

  The class for regexes isn't called RegexObject any more; correct the text
........
diff --git a/Lib/multiprocessing/synchronize.py b/Lib/multiprocessing/synchronize.py
index 8e994df..7f4718c 100644
--- a/Lib/multiprocessing/synchronize.py
+++ b/Lib/multiprocessing/synchronize.py
@@ -58,8 +58,12 @@
     def _make_methods(self):
         self.acquire = self._semlock.acquire
         self.release = self._semlock.release
-        self.__enter__ = self._semlock.__enter__
-        self.__exit__ = self._semlock.__exit__
+
+    def __enter__(self):
+        return self._semlock.__enter__()
+
+    def __exit__(self, *args):
+        return self._semlock.__exit__(*args)
 
     def __getstate__(self):
         assert_spawning(self)
@@ -181,11 +185,15 @@
          self._woken_count, self._wait_semaphore) = state
         self._make_methods()
 
+    def __enter__(self):
+        return self._lock.__enter__()
+
+    def __exit__(self, *args):
+        return self._lock.__exit__(*args)
+
     def _make_methods(self):
         self.acquire = self._lock.acquire
         self.release = self._lock.release
-        self.__enter__ = self._lock.__enter__
-        self.__exit__ = self._lock.__exit__
 
     def __repr__(self):
         try:
diff --git a/Lib/test/support.py b/Lib/test/support.py
index b91d732..bdc6b89 100644
--- a/Lib/test/support.py
+++ b/Lib/test/support.py
@@ -6,6 +6,7 @@
 import contextlib
 import errno
 import functools
+import gc
 import socket
 import sys
 import os
@@ -630,7 +631,6 @@
     longer than expected.  This function tries its best to force all garbage
     objects to disappear.
     """
-    import gc
     gc.collect()
     gc.collect()
     gc.collect()