Index: Lib/multiprocessing/synchronize.py =================================================================== --- Lib/multiprocessing/synchronize.py (revision 66095) +++ Lib/multiprocessing/synchronize.py (working copy) @@ -65,7 +65,9 @@ # class Semaphore(SemLock): - + ''' + A semaphore object + ''' def __init__(self, value=1): SemLock.__init__(self, SEMAPHORE, value, SEM_VALUE_MAX) @@ -84,7 +86,9 @@ # class BoundedSemaphore(Semaphore): - + ''' + A bounded semaphore object + ''' def __init__(self, value=1): SemLock.__init__(self, SEMAPHORE, value, value) @@ -101,7 +105,9 @@ # class Lock(SemLock): - + ''' + A non-recursive lock object + ''' def __init__(self): SemLock.__init__(self, SEMAPHORE, 1, 1) @@ -126,7 +132,9 @@ # class RLock(SemLock): - + ''' + A recursive lock object + ''' def __init__(self): SemLock.__init__(self, RECURSIVE_MUTEX, 1, 1) @@ -152,6 +160,9 @@ # class Condition(object): + ''' + A condition object + ''' def __init__(self, lock=None): self._lock = lock or RLock() @@ -252,7 +263,9 @@ # class Event(object): - + ''' + An event object + ''' def __init__(self): self._cond = Condition(Lock()) self._flag = Semaphore(0) Index: Lib/multiprocessing/util.py =================================================================== --- Lib/multiprocessing/util.py (revision 66095) +++ Lib/multiprocessing/util.py (working copy) @@ -54,7 +54,7 @@ def get_logger(): ''' - Returns logger used by multiprocessing + Return package logger -- if it does not already exist then it is created ''' global _logger Index: Lib/multiprocessing/sharedctypes.py =================================================================== --- Lib/multiprocessing/sharedctypes.py (revision 66095) +++ Lib/multiprocessing/sharedctypes.py (working copy) @@ -63,7 +63,7 @@ def Value(typecode_or_type, *args, **kwds): ''' - Return a synchronization wrapper for a Value + Return a synchronization wrapper for a RawValue ''' lock = kwds.pop('lock', None) if kwds: Index: Lib/multiprocessing/__init__.py =================================================================== --- Lib/multiprocessing/__init__.py (revision 66095) +++ Lib/multiprocessing/__init__.py (working copy) @@ -97,13 +97,6 @@ m.start() return m -def Pipe(duplex=True): - ''' - Returns two connection object connected by a pipe - ''' - from multiprocessing.connection import Pipe - return Pipe(duplex) - def cpu_count(): ''' Returns the number of CPUs in the system @@ -138,134 +131,28 @@ from multiprocessing.forking import freeze_support freeze_support() -def get_logger(): - ''' - Return package logger -- if it does not already exist then it is created - ''' - from multiprocessing.util import get_logger - return get_logger() - -def log_to_stderr(level=None): - ''' - Turn on logging and add a handler which prints to stderr - ''' - from multiprocessing.util import log_to_stderr - return log_to_stderr(level) - def allow_connection_pickling(): ''' Install support for sending connections and sockets between processes ''' from multiprocessing import reduction +# Alias some names from submodules in the package namespace +from multiprocessing.connection import Pipe +from multiprocessing.util import (get_logger, log_to_stderr) + # # Definitions depending on native semaphores # +# Alias some names from submodules in the package namespace +from multiprocessing.synchronize import (Lock, RLock, Condition, Event, + Semaphore, BoundedSemaphore) +from multiprocessing.queues import (Queue, JoinableQueue) +from multiprocessing.pool import Pool +from multiprocessing.sharedctypes import (RawValue, Value, + RawArray, Array) -def Lock(): - ''' - Returns a non-recursive lock object - ''' - from multiprocessing.synchronize import Lock - return Lock() - -def RLock(): - ''' - Returns a recursive lock object - ''' - from multiprocessing.synchronize import RLock - return RLock() - -def Condition(lock=None): - ''' - Returns a condition object - ''' - from multiprocessing.synchronize import Condition - return Condition(lock) - -def Semaphore(value=1): - ''' - Returns a semaphore object - ''' - from multiprocessing.synchronize import Semaphore - return Semaphore(value) - -def BoundedSemaphore(value=1): - ''' - Returns a bounded semaphore object - ''' - from multiprocessing.synchronize import BoundedSemaphore - return BoundedSemaphore(value) - -def Event(): - ''' - Returns an event object - ''' - from multiprocessing.synchronize import Event - return Event() - -def Queue(maxsize=0): - ''' - Returns a queue object - ''' - from multiprocessing.queues import Queue - return Queue(maxsize) - -def JoinableQueue(maxsize=0): - ''' - Returns a queue object - ''' - from multiprocessing.queues import JoinableQueue - return JoinableQueue(maxsize) - -def Pool(processes=None, initializer=None, initargs=()): - ''' - Returns a process pool object - ''' - from multiprocessing.pool import Pool - return Pool(processes, initializer, initargs) - -def RawValue(typecode_or_type, *args): - ''' - Returns a shared object - ''' - from multiprocessing.sharedctypes import RawValue - return RawValue(typecode_or_type, *args) - -def RawArray(typecode_or_type, size_or_initializer): - ''' - Returns a shared array - ''' - from multiprocessing.sharedctypes import RawArray - return RawArray(typecode_or_type, size_or_initializer) - -def Value(typecode_or_type, *args, **kwds): - ''' - Returns a synchronized shared object - ''' - from multiprocessing.sharedctypes import Value - return Value(typecode_or_type, *args, **kwds) - -def Array(typecode_or_type, size_or_initializer, **kwds): - ''' - Returns a synchronized shared array - ''' - from multiprocessing.sharedctypes import Array - return Array(typecode_or_type, size_or_initializer, **kwds) - -# -# -# - if sys.platform == 'win32': + from multiprocessing.forking import set_executable - def set_executable(executable): - ''' - Sets the path to a python.exe or pythonw.exe binary used to run - child processes on Windows instead of sys.executable. - Useful for people embedding Python. - ''' - from multiprocessing.forking import set_executable - set_executable(executable) - __all__ += ['set_executable']