Commit f9e9a6f4 authored by Mark Dickinson's avatar Mark Dickinson

Issue #11673: Fix multiprocessing.[Raw]Array constructor to accept a size of...

Issue #11673: Fix multiprocessing.[Raw]Array constructor to accept a size of type long.  Thanks Robert Kern.
parent d480d93f
......@@ -78,7 +78,7 @@ def RawArray(typecode_or_type, size_or_initializer):
Returns a ctypes array allocated from shared memory
'''
type_ = typecode_to_type.get(typecode_or_type, typecode_or_type)
if isinstance(size_or_initializer, int):
if isinstance(size_or_initializer, (int, long)):
type_ = type_ * size_or_initializer
return _new_value(type_)
else:
......
......@@ -917,6 +917,13 @@ class _TestArray(BaseTestCase):
def test_rawarray(self):
self.test_array(raw=True)
@unittest.skipIf(c_int is None, "requires _ctypes")
def test_array_accepts_long(self):
arr = self.Array('i', 10L)
self.assertEqual(len(arr), 10)
raw_arr = self.RawArray('i', 10L)
self.assertEqual(len(raw_arr), 10)
@unittest.skipIf(c_int is None, "requires _ctypes")
def test_getobj_getlock_obj(self):
arr1 = self.Array('i', range(10))
......
......@@ -43,6 +43,9 @@ Core and Builtins
Library
-------
- Issue #11673: Fix multiprocessing Array and RawArray constructors to accept a
size of type 'long', rather than only accepting 'int'.
- Issue #10042: Fixed the total_ordering decorator to handle cross-type
comparisons that could lead to infinite recursion.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment