llvm-project/llvm/lib/Support/Unix
Chris Bieneman 017ebf09d9 Fixes a hang that can occur if a signal comes in during malloc calls.
We need to dereference the signals mutex during handler registration so that we force its construction. This is to prevent the first use being during handling an actual signal because you can't safely allocate memory in a signal handler.

llvm-svn: 235914
2015-04-27 20:45:35 +00:00
..
COM.inc Fix build broken by incorrect class name. 2015-04-27 17:22:30 +00:00
Host.inc Triple: refactor redundant code. 2015-02-12 15:12:13 +00:00
Memory.inc [mips] Use __clear_cache builtin instead of cacheflush() 2015-01-27 23:30:18 +00:00
Mutex.inc
Path.inc Remove unnecessary StringRef->std::string conversion. 2014-12-29 20:59:02 +00:00
Process.inc Small cleanup. Don't use else when not needed. 2015-02-21 02:36:54 +00:00
Program.inc Purge unused includes throughout libSupport. 2015-03-23 18:07:13 +00:00
README.txt
RWMutex.inc Update the non-pthreads fallback for RWMutex on Unix 2014-10-31 17:02:30 +00:00
Signals.inc Fixes a hang that can occur if a signal comes in during malloc calls. 2015-04-27 20:45:35 +00:00
ThreadLocal.inc ThreadLocal: Move Unix-specific code out of Support/ThreadLocal.cpp 2014-12-15 01:19:53 +00:00
TimeValue.inc Cleaning up static initializers in TimeValue. 2014-08-29 01:05:12 +00:00
Unix.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00: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.