Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Make backtraces work again with both the configure and cmake build. | Benjamin Kramer | 2012-09-28 | 1 | -1/+1 |
| | | | | llvm-svn: 164817 | ||||
* | Add an --enable-backtraces option to configure to determine | Eric Christopher | 2012-09-21 | 1 | -1/+1 |
| | | | | | | | | | whether or not we want to print out backtrace information. Useful for libraries that don't need backtrace information on a crash. rdar://11844710 llvm-svn: 164426 | ||||
* | Whitespace. | NAKAMURA Takumi | 2012-09-06 | 1 | -2/+2 |
| | | | | llvm-svn: 163289 | ||||
* | Unix/Signals.inc: Fix a typo. Thanks to Dani Berg! | NAKAMURA Takumi | 2012-09-06 | 1 | -1/+1 |
| | | | | llvm-svn: 163288 | ||||
* | Don't call 'FilesToRemove[0]' when the vector is empty, even to compute | Chandler Carruth | 2012-06-16 | 1 | -1/+1 |
| | | | | | | | the address of it. Found by a checking STL implementation used on a dragonegg builder. Sorry about this one. =/ llvm-svn: 158582 | ||||
* | Harden the Unix signals code to be more async signal safe. | Chandler Carruth | 2012-06-16 | 1 | -9/+41 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is likely only the tip of the ice berg, but this particular bug caused any double-free on a glibc system to turn into a deadlock! It is not generally safe to either allocate or release heap memory from within the signal handler. The 'pop_back()' in RemoveFilesToRemove was deleting memory and causing the deadlock. What's worse, eraseFromDisk in PathV1 has lots of allocation and deallocation paths. We even passed 'true' in a place that would have caused the *signal handler* to try to run the 'system' system call and shell out to 'rm -rf'. That was never going to work... This patch switches the file removal to use a vector of strings so that the exact text needed for the 'unlink' system call can be stored there. It switches the loop to be a boring indexed loop, and directly calls unlink without looking at the error. It also works quite hard to ensure that calling 'c_str()' is safe, by ensuring that the non-signal-handling code path that manipulates the vector always leaves it in a state where every element has already had 'c_str()' called at least once. I dunno exactly how overkill this is, but it fixes the deadlock-on-double free issue, and seems likely to prevent any other issues from sneaking up. Sorry for not having a test case, but I *really* don't know how to test signal handling code easily.... llvm-svn: 158580 | ||||
* | Fix null to integer conversion warnings. | Jean-Daniel Dupas | 2012-03-24 | 1 | -2/+2 |
| | | | | llvm-svn: 153395 | ||||
* | Disable the crash reporter when running lit tests. | Argyrios Kyrtzidis | 2012-01-11 | 1 | -0/+20 |
| | | | | llvm-svn: 147965 | ||||
* | Include <pthread.h> before we use pthread_self/pthread_kill | Douglas Gregor | 2011-04-29 | 1 | -3/+3 |
| | | | | llvm-svn: 130510 | ||||
* | Fix a ton of comment typos found by codespell. Patch by | Chris Lattner | 2011-04-15 | 1 | -1/+1 |
| | | | | | | Luis Felipe Strano Moraes! llvm-svn: 129558 | ||||
* | Merge System into Support. | Michael J. Spencer | 2010-11-29 | 1 | -0/+303 |
llvm-svn: 120298 |