[Python-checkins] r66114 - in python/trunk/Lib/multiprocessing: __init__.py sharedctypes.py synchronize.py util.py
jesse.noller
python-checkins at python.org
Mon Sep 1 18:47:26 CEST 2008
Author: jesse.noller
Date: Mon Sep 1 18:47:25 2008
New Revision: 66114
Log:
Submit Nick's patch for issue 3589, reviewed by jnoller
Modified:
python/trunk/Lib/multiprocessing/__init__.py
python/trunk/Lib/multiprocessing/sharedctypes.py
python/trunk/Lib/multiprocessing/synchronize.py
python/trunk/Lib/multiprocessing/util.py
Modified: python/trunk/Lib/multiprocessing/__init__.py
==============================================================================
--- python/trunk/Lib/multiprocessing/__init__.py (original)
+++ python/trunk/Lib/multiprocessing/__init__.py Mon Sep 1 18:47:25 2008
@@ -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
-#
-# Definitions depending on native semaphores
-#
-
-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)
+# 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)
if sys.platform == 'win32':
-
- 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)
+ from multiprocessing.forking import set_executable
__all__ += ['set_executable']
Modified: python/trunk/Lib/multiprocessing/sharedctypes.py
==============================================================================
--- python/trunk/Lib/multiprocessing/sharedctypes.py (original)
+++ python/trunk/Lib/multiprocessing/sharedctypes.py Mon Sep 1 18:47:25 2008
@@ -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:
Modified: python/trunk/Lib/multiprocessing/synchronize.py
==============================================================================
--- python/trunk/Lib/multiprocessing/synchronize.py (original)
+++ python/trunk/Lib/multiprocessing/synchronize.py Mon Sep 1 18:47:25 2008
@@ -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)
Modified: python/trunk/Lib/multiprocessing/util.py
==============================================================================
--- python/trunk/Lib/multiprocessing/util.py (original)
+++ python/trunk/Lib/multiprocessing/util.py Mon Sep 1 18:47:25 2008
@@ -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
More information about the Python-checkins
mailing list