Merge 3.3.
diff --git a/Lib/multiprocessing/popen_fork.py b/Lib/multiprocessing/popen_fork.py
index 463cc18..367e72e 100644
--- a/Lib/multiprocessing/popen_fork.py
+++ b/Lib/multiprocessing/popen_fork.py
@@ -47,7 +47,7 @@
     def wait(self, timeout=None):
         if self.returncode is None:
             if timeout is not None:
-                from .connection import wait
+                from multiprocessing.connection import wait
                 if not wait([self.sentinel], timeout):
                     return None
             # This shouldn't block if wait() returned successfully.
diff --git a/Lib/multiprocessing/popen_forkserver.py b/Lib/multiprocessing/popen_forkserver.py
index b115f81..e792194 100644
--- a/Lib/multiprocessing/popen_forkserver.py
+++ b/Lib/multiprocessing/popen_forkserver.py
@@ -57,7 +57,7 @@
 
     def poll(self, flag=os.WNOHANG):
         if self.returncode is None:
-            from .connection import wait
+            from multiprocessing.connection import wait
             timeout = 0 if flag == os.WNOHANG else None
             if not wait([self.sentinel], timeout):
                 return None
diff --git a/Misc/NEWS b/Misc/NEWS
index 5ec11eb..b20e458 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -21,6 +21,8 @@
 Library
 -------
 
+- Issue #20633: Replace relative import by absolute import.
+
 - Issue #20980: Stop wrapping exception when using ThreadPool.
 
 - Issue #20990: Fix issues found by pyflakes for multiprocessing.