llvm-project/llvm/lib/Support/Unix
Joseph Tremoulet b785e03612 Support: mapped_file_region: Pass MAP_NORESERVE to mmap
This allows mapping larger files, delaying OOM failures until too many
pages of them are accessed.  This is makes the behavior of the
mapped_file_region in this regard consistent between its "Unix" and
"Windows" implementations.

Guard the code witih #if defined(MAP_NORESERVE), consistent with other
uses of MAP_NORESERVE in llvm-project, because some FreeBSD versions do
not provide this flag.

Reviewed By: clayborg

Differential Revision: https://reviews.llvm.org/D96626
2021-04-08 09:07:25 -04:00
..
COM.inc
DynamicLibrary.inc
Host.inc
Memory.inc
Path.inc Support: mapped_file_region: Pass MAP_NORESERVE to mmap 2021-04-08 09:07:25 -04:00
Process.inc [libsupport] Silence a bogus valgrind warning. 2021-03-18 09:09:20 -07:00
Program.inc [SystemZ][z/OS][Windows] Add new OF_TextWithCRLF flag and use this flag instead of OF_Text 2021-04-06 07:23:31 -04:00
README.txt
Signals.inc [Signal] Re-raise SIGPIPE if the handler is uninstalled 2021-01-08 11:13:43 -08:00
ThreadLocal.inc
Threading.inc Implement computeHostNumHardwareThreads() for FreeBSD 2020-11-29 00:49:39 +01:00
Unix.h Stop including sys/param.h from Unix.h 2020-02-25 15:35:04 +01:00
Watchdog.inc

README.txt

llvm/lib/Support/Unix README
===========================

This directory provides implementations of the lib/System classes that
are common to two or more variants of UNIX. For example, the directory
structure underneath this directory could look like this:

Unix           - only code that is truly generic to all UNIX platforms
  Posix        - code that is specific to Posix variants of UNIX
  SUS          - code that is specific to the Single Unix Specification
  SysV         - code that is specific to System V variants of UNIX

As a rule, only those directories actually needing to be created should be
created. Also, further subdirectories could be created to reflect versions of
the various standards. For example, under SUS there could be v1, v2, and v3
subdirectories to reflect the three major versions of SUS.