logo       

RE: cytpes and non executable memory: msg#00025

python.ctypes

Subject: RE: cytpes and non executable memory

> But: mmap (or VirtualAlloc on Windows) return memory blocks
> with a size
> rounded up to be a multiple of the system's pagesize - and it is
> somewhat wasteful to use a 4k block when only 20 or 30 bytes
> are really
> needed. So, it seems a very simple memory manager is needed.
> Since the
> block size is always the same, it probably wouldn't be too complicated
> to hack one, but isn't there a library I can reuse?

It occurs to me that you might be able to take the PyMalloc code from
the Python core and hack it to use mmap() etc (instead of malloc()/free())
if you're only needing allocations up to 256 bytes...

I'm not sure whether thread safety is an issue - if ctypes doesn't release
the GIL until it actually calls the foreign function it probably isn't
an issue.

I came across another reference (may have been on python-dev) that some
systems have limits on the number of mmap()ed regions you can have open
at any given time.

-----------------------------------------------------------------------
Andrew MacIntyre \ E-mail: andrew.macintyre@xxxxxxxxxx
Planning Branch \ Tel: +61 2 6256 2812
Australian Broadcasting Authority \ Fax: +61 2 6253 3277
-> "These thoughts are mine alone!" <----------------------------------


-------------------------------------------------------
This SF.net email is sponsored by: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise