[New-bugs-announce] [issue37185] use os.memfd_create in multiprocessing.shared_memory?
Pierre Glaser
report at bugs.python.org
Thu Jun 6 18:20:10 EDT 2019
New submission from Pierre Glaser <pierreglaser at msn.com>:
Hi,
Following https://bugs.python.org/issue26836, I started thinking about using memfd_create instead of shm_open for creating shared-memory segments in multiprocessing.shared_memory.
The main advantage of memfd_create over shm_open is that the generated resources management is easier: a segment created using using memfd_create is released once all references to the segment are dropped. This is not the case for segments created using shm_open, for which additional resource tracking is needed (using the new multiprocessing.resource_tracker)
The main difference between those two calls is that segments created using memfd_create are anonymous and can only be accessed using file descriptors. The name argument in the signature serves only for debugging purposes. On the contrary, shm_open generates segments that map to a file in /dev/shm: therefore, segments each have unique names.
Would we decide to switch from shm_open to memfd_create, the name behavior will also change. How big of a deal would that be?
----------
messages: 344881
nosy: davin, pierreglaser, pitrou
priority: normal
severity: normal
status: open
title: use os.memfd_create in multiprocessing.shared_memory?
type: resource usage
versions: Python 3.9
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue37185>
_______________________________________
More information about the New-bugs-announce
mailing list