diff options
author | Daniel Lange <DLange@git.local> | 2016-04-11 13:01:07 +0200 |
---|---|---|
committer | Daniel Lange <DLange@git.local> | 2016-04-11 13:01:07 +0200 |
commit | ff9409b1737627857eb47f64f536a3f66b6a09a4 (patch) | |
tree | 61b631ba551e68a4f656b8b76ff7bd0d9955fc64 /darwin/DarwinCRT.c | |
parent | f75ab6d2c11e8a8e18191b087564aedebbeb96c5 (diff) | |
download | debian_htop-ff9409b1737627857eb47f64f536a3f66b6a09a4.tar.gz debian_htop-ff9409b1737627857eb47f64f536a3f66b6a09a4.tar.bz2 debian_htop-ff9409b1737627857eb47f64f536a3f66b6a09a4.zip |
Imported Upstream version 2.0.0upstream/2.0.0
Diffstat (limited to 'darwin/DarwinCRT.c')
-rw-r--r-- | darwin/DarwinCRT.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/darwin/DarwinCRT.c b/darwin/DarwinCRT.c new file mode 100644 index 0000000..5172598 --- /dev/null +++ b/darwin/DarwinCRT.c @@ -0,0 +1,35 @@ +/* +htop - DarwinCRT.c +(C) 2014 Hisham H. Muhammad +Released under the GNU GPL, see the COPYING file +in the source distribution for its full text. +*/ + +#include "config.h" +#include "CRT.h" +#include <stdio.h> +#include <stdlib.h> +#include <execinfo.h> + +void CRT_handleSIGSEGV(int sgn) { + (void) sgn; + CRT_done(); + #ifdef __APPLE__ + fprintf(stderr, "\n\nhtop " VERSION " aborting. Please report bug at http://hisham.hm/htop\n"); + #ifdef HAVE_EXECINFO_H + size_t size = backtrace(backtraceArray, sizeof(backtraceArray) / sizeof(void *)); + fprintf(stderr, "\n Please include in your report the following backtrace: \n"); + backtrace_symbols_fd(backtraceArray, size, 2); + fprintf(stderr, "\nAdditionally, in order to make the above backtrace useful,"); + fprintf(stderr, "\nplease also run the following command to generate a disassembly of your binary:"); + fprintf(stderr, "\n\n otool -tvV `which htop` > ~/htop.otool"); + fprintf(stderr, "\n\nand then attach the file ~/htop.otool to your bug report."); + fprintf(stderr, "\n\nThank you for helping to improve htop!\n\n"); + #endif + #else + fprintf(stderr, "\nUnfortunately, you seem to be using an unsupported platform!"); + fprintf(stderr, "\nPlease contact your platform package maintainer!\n\n"); + #endif + abort(); +} + |