summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Lib/multiprocessing/__init__.py5
-rw-r--r--Lib/multiprocessing/context.py6
-rw-r--r--Lib/test/_test_multiprocessing.py6
3 files changed, 10 insertions, 7 deletions
diff --git a/Lib/multiprocessing/__init__.py b/Lib/multiprocessing/__init__.py
index 86df638370..8336f381de 100644
--- a/Lib/multiprocessing/__init__.py
+++ b/Lib/multiprocessing/__init__.py
@@ -19,9 +19,8 @@ from . import context
# Copy stuff from default context
#
-globals().update((name, getattr(context._default_context, name))
- for name in context._default_context.__all__)
-__all__ = context._default_context.__all__
+__all__ = [x for x in dir(context._default_context) if not x.startswith('_')]
+globals().update((name, getattr(context._default_context, name)) for name in __all__)
#
# XXX These should not really be documented or public.
diff --git a/Lib/multiprocessing/context.py b/Lib/multiprocessing/context.py
index c98ee43424..871746b1a0 100644
--- a/Lib/multiprocessing/context.py
+++ b/Lib/multiprocessing/context.py
@@ -5,7 +5,7 @@ import threading
from . import process
from . import reduction
-__all__ = [] # things are copied from here to __init__.py
+__all__ = ()
#
# Exceptions
@@ -24,7 +24,7 @@ class AuthenticationError(ProcessError):
pass
#
-# Base type for contexts
+# Base type for contexts. Bound methods of an instance of this type are included in __all__ of __init__.py
#
class BaseContext(object):
@@ -261,8 +261,6 @@ class DefaultContext(BaseContext):
else:
return ['fork', 'spawn']
-DefaultContext.__all__ = [x for x in dir(DefaultContext) if x[0] != '_']
-
#
# Context types for fixed start method
#
diff --git a/Lib/test/_test_multiprocessing.py b/Lib/test/_test_multiprocessing.py
index c4810a5ce1..f446ef34fe 100644
--- a/Lib/test/_test_multiprocessing.py
+++ b/Lib/test/_test_multiprocessing.py
@@ -4582,6 +4582,12 @@ class TestSimpleQueue(unittest.TestCase):
proc.join()
+
+class MiscTestCase(unittest.TestCase):
+ def test__all__(self):
+ # Just make sure names in blacklist are excluded
+ support.check__all__(self, multiprocessing, extra=multiprocessing.__all__,
+ blacklist=['SUBDEBUG', 'SUBWARNING'])
#
# Mixins
#