[Python-checkins] cpython: Use Python 3.x-style keyword only arg in Array()

richard.oudkerk python-checkins at python.org
Tue May 29 13:03:13 CEST 2012


http://hg.python.org/cpython/rev/b31ea7995214
changeset: 77221:b31ea7995214
user: Richard Oudkerk <shibturn at gmail.com>
date: Tue May 29 12:01:47 2012 +0100
summary:
 Use Python 3.x-style keyword only arg in Array()
Previously a Python 2.x compatible hack was used for
multiprocessing.sharedctypes.Array(). Also the documented
signature was wrong.
files:
 Doc/library/multiprocessing.rst | 6 +++---
 Lib/multiprocessing/__init__.py | 8 ++++----
 Lib/multiprocessing/sharedctypes.py | 7 ++-----
 3 files changed, 9 insertions(+), 12 deletions(-)
diff --git a/Doc/library/multiprocessing.rst b/Doc/library/multiprocessing.rst
--- a/Doc/library/multiprocessing.rst
+++ b/Doc/library/multiprocessing.rst
@@ -953,7 +953,7 @@
 It is possible to create shared objects using shared memory which can be
 inherited by child processes.
 
-.. function:: Value(typecode_or_type, *args[, lock])
+.. function:: Value(typecode_or_type, *args, lock=True)
 
 Return a :mod:`ctypes` object allocated from shared memory. By default the
 return value is actually a synchronized wrapper for the object.
@@ -1045,7 +1045,7 @@
 attributes which allow one to use it to store and retrieve strings -- see
 documentation for :mod:`ctypes`.
 
-.. function:: Array(typecode_or_type, size_or_initializer, *args[, lock])
+.. function:: Array(typecode_or_type, size_or_initializer, *, lock=True)
 
 The same as :func:`RawArray` except that depending on the value of *lock* a
 process-safe synchronization wrapper may be returned instead of a raw ctypes
@@ -1060,7 +1060,7 @@
 
 Note that *lock* is a keyword-only argument.
 
-.. function:: Value(typecode_or_type, *args[, lock])
+.. function:: Value(typecode_or_type, *args, lock=True)
 
 The same as :func:`RawValue` except that depending on the value of *lock* a
 process-safe synchronization wrapper may be returned instead of a raw ctypes
diff --git a/Lib/multiprocessing/__init__.py b/Lib/multiprocessing/__init__.py
--- a/Lib/multiprocessing/__init__.py
+++ b/Lib/multiprocessing/__init__.py
@@ -228,19 +228,19 @@
 from multiprocessing.sharedctypes import RawArray
 return RawArray(typecode_or_type, size_or_initializer)
 
-def Value(typecode_or_type, *args, **kwds):
+def Value(typecode_or_type, *args, lock=True):
 '''
 Returns a synchronized shared object
 '''
 from multiprocessing.sharedctypes import Value
- return Value(typecode_or_type, *args, **kwds)
+ return Value(typecode_or_type, *args, lock=lock)
 
-def Array(typecode_or_type, size_or_initializer, **kwds):
+def Array(typecode_or_type, size_or_initializer, *, lock=True):
 '''
 Returns a synchronized shared array
 '''
 from multiprocessing.sharedctypes import Array
- return Array(typecode_or_type, size_or_initializer, **kwds)
+ return Array(typecode_or_type, size_or_initializer, lock=lock)
 
 #
 #
diff --git a/Lib/multiprocessing/sharedctypes.py b/Lib/multiprocessing/sharedctypes.py
--- a/Lib/multiprocessing/sharedctypes.py
+++ b/Lib/multiprocessing/sharedctypes.py
@@ -63,7 +63,7 @@
 result.__init__(*size_or_initializer)
 return result
 
-def Value(typecode_or_type, *args, lock=None):
+def Value(typecode_or_type, *args, lock=True):
 '''
 Return a synchronization wrapper for a Value
 '''
@@ -76,13 +76,10 @@
 raise AttributeError("'%r' has no method 'acquire'" % lock)
 return synchronized(obj, lock)
 
-def Array(typecode_or_type, size_or_initializer, **kwds):
+def Array(typecode_or_type, size_or_initializer, *, lock=True):
 '''
 Return a synchronization wrapper for a RawArray
 '''
- lock = kwds.pop('lock', None)
- if kwds:
- raise ValueError('unrecognized keyword argument(s): %s' % list(kwds.keys()))
 obj = RawArray(typecode_or_type, size_or_initializer)
 if lock is False:
 return obj
-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /