New submission from Richard Oudkerk <shibt...@gmail.com>:

The attached patch enables creation of shared objects allocated from shared 
memory using memoryview objects instead of ctypes.

This enables the use of shared memory on systems where ctypes is unavailable.

The new functions/classes RawArray, RawValue, Array and Array have been added 
to multiprocessing.heap.  They are almost equivalent to the functions/classes 
of the same name in multiprocessing and multiprocessing.sharedctypes when a 
letter typecode is used (rather than a ctypes type).

The differences in behaviour are due to the differences between memoryview 
objects and ctypes arrays.  The most noticeable is the fact that you can't set 
a slice using an arbitrary sequence, so

    arr = multiprocessing.RawArray('i', [0]*10)
    arr[:3] = [1,2,3]

has to be rewritten to something like

    arr = multiprocessing.heap.RawArray('i', [0]*10)
    arr[:3] = array.array('i', [1,2,3])

(No documetation yet.)

----------
files: memoryview-array-value.patch
keywords: patch
messages: 161892
nosy: sbt
priority: normal
severity: normal
stage: patch review
status: open
title: Reimplement subset of multiprocessing.sharedctypes using memoryview
type: enhancement
versions: Python 3.3
Added file: http://bugs.python.org/file25754/memoryview-array-value.patch

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue14953>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to