@@ -416,7 +416,8 @@ def _is_printable(ch):
416416__file_format_multi_dict__ = {}
417417__file_format_default__ = "ArchiveFile"
418418__include_defaults__ = True
419- __use_inmemfile__ = True
419+ __use_inmem__ = True
420+ __use_memfd__ = True
420421__use_spoolfile__ = False
421422__use_spooldir__ = tempfile.gettempdir()
422423BYTES_PER_KiB = 1024
@@ -462,7 +463,8 @@ def decode_unicode_escape(value):
462463 __file_format_default__ = decode_unicode_escape(config.get('config', 'default'))
463464 __program_name__ = decode_unicode_escape(config.get('config', 'proname'))
464465 __include_defaults__ = config.getboolean('config', 'includedef')
465- __use_inmemfile__ = config.getboolean('config', 'inmemfile')
466+ __use_inmem__ = config.getboolean('config', 'useinmem')
467+ __use_memfd__ = config.getboolean('config', 'usememfd')
466468 __use_spoolfile__ = config.getboolean('config', 'usespoolfile')
467469 __spoolfile_size__ = config.getint('config', 'spoolfilesize')
468470 # Loop through all sections
@@ -556,8 +558,9 @@ def _get(section_dict, key, default=None):
556558 cfg_config = cfg.get('config', {}) or {}
557559 __file_format_default__ = decode_unicode_escape(_get(cfg_config, 'default', ''))
558560 __program_name__ = decode_unicode_escape(_get(cfg_config, 'proname', ''))
559- __include_defaults__ = _to_bool(_get(cfg_config, 'includedef', False))
560- __use_inmemfile__ = _to_bool(_get(cfg_config, 'inmemfile', False))
561+ __include_defaults__ = _to_bool(_get(cfg_config, 'includedef', True))
562+ __use_inmem__ = _to_bool(_get(cfg_config, 'useinmem', True))
563+ __use_memfd__ = _to_bool(_get(cfg_config, 'usememfd', True))
561564 __use_spoolfile__ = _to_bool(_get(cfg_config, 'usespoolfile', False))
562565 __spoolfile_size__ = _to_int(_get(cfg_config, 'spoolfilesize', DEFAULT_SPOOL_MAX))
563566
@@ -2051,9 +2054,9 @@ def _normalize_initial_data(data, isbytes, encoding, errors=None):
20512054
20522055
20532056def MkTempFile(data=None,
2054- inmem=__use_inmemfile__ ,
2057+ inmem=__use_inmem__, usememfd=__use_memfd__ ,
20552058 isbytes=True,
2056- prefix="" ,
2059+ prefix=__program_name__ ,
20572060 delete=True,
20582061 encoding="utf-8",
20592062 newline=None, # text mode only; in-memory objects ignore newline semantics
@@ -2115,13 +2118,13 @@ def MkTempFile(data=None,
21152118 # -------- In-memory --------
21162119 if inmem:
21172120 # Use memfd only for bytes, and only where available (Linux, Python 3.8+)
2118- if isbytes and hasattr(os, "memfd_create"):
2121+ if usememfd and isbytes and hasattr(os, "memfd_create"):
21192122 flags = 0
21202123 # Close-on-exec is almost always what you want for temps
21212124 if hasattr(os, "MFD_CLOEXEC"):
21222125 flags |= os.MFD_CLOEXEC
21232126
2124- fd = os.memfd_create("MkTempFile" , flags)
2127+ fd = os.memfd_create(prefix , flags)
21252128 # Binary read/write file-like object backed by RAM
21262129 f = os.fdopen(fd, "w+b")
21272130
0 commit comments