Author sbt
Recipients sbt
Date 2012-05-29.14:59:41
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1338303583.56.0.322806581737.issue14953@psf.upfronthosting.co.za>
In-reply-to
Content
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.)
History
Date User Action Args
2012-05-29 14:59:44sbtsetrecipients: + sbt
2012-05-29 14:59:43sbtsetmessageid: <1338303583.56.0.322806581737.issue14953@psf.upfronthosting.co.za>
2012-05-29 14:59:42sbtlinkissue14953 messages
2012-05-29 14:59:42sbtcreate