@@ -416,7 +416,8 @@ def _is_printable(ch):
416416__file_format_multi_dict__ = {}
417417__file_format_default__ = "CatFile"
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
@@ -2058,9 +2061,9 @@ def _normalize_initial_data(data, isbytes, encoding, errors=None):
20582061
20592062
20602063def MkTempFile(data=None,
2061- inmem=__use_inmemfile__ ,
2064+ inmem=__use_inmem__, usememfd=__use_memfd__ ,
20622065 isbytes=True,
2063- prefix="" ,
2066+ prefix=__program_name__ ,
20642067 delete=True,
20652068 encoding="utf-8",
20662069 newline=None, # text mode only; in-memory objects ignore newline semantics
@@ -2122,13 +2125,13 @@ def MkTempFile(data=None,
21222125 # -------- In-memory --------
21232126 if inmem:
21242127 # Use memfd only for bytes, and only where available (Linux, Python 3.8+)
2125- if isbytes and hasattr(os, "memfd_create"):
2128+ if usememfd and isbytes and hasattr(os, "memfd_create"):
21262129 flags = 0
21272130 # Close-on-exec is almost always what you want for temps
21282131 if hasattr(os, "MFD_CLOEXEC"):
21292132 flags |= os.MFD_CLOEXEC
21302133
2131- fd = os.memfd_create("MkTempFile" , flags)
2134+ fd = os.memfd_create(prefix , flags)
21322135 # Binary read/write file-like object backed by RAM
21332136 f = os.fdopen(fd, "w+b")
21342137
0 commit comments