Gareth Rees added the comment:
I see now that the default start method is 'fork' (except on Windows), so
calling set_start_method is unnecessary.
Note that you don't have to edit multiprocessing/heap.py, you can
"monkey-patch" it in the program that needs the anonymous mapping:
from multiprocessing.heap import Arena
def anonymous_arena_init(self, size, fd=-1):
"Create Arena using an anonymous memory mapping."
self.size = size
self.fd = fd # still kept but is not used !
self.buffer = mmap.mmap(-1, self.size)
Arena.__init__ = anonymous_arena_init
As for what it will break — any code that uses the 'spawn' or 'forkserver'
start methods.
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue30919>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com