diff options
author | Drew DeVault <sir@cmpwn.com> | 2016-07-17 11:29:29 -0400 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2016-07-17 11:29:29 -0400 |
commit | c8917395c0cc5ff9fbec3a504c1855d9012d17ed (patch) | |
tree | a6effa15d79a9beaafed06d3541d425eafe0a180 | |
parent | 3bb880bf207b40bc0cddcb9c449a738861e6791b (diff) |
Remove SIGSERV and SIGABORT handler
From now on let's just let the core dumps happen and ask users to
provide them.
-rw-r--r-- | common/log.c | 47 |
1 files changed, 1 insertions, 46 deletions
diff --git a/common/log.c b/common/log.c index 56c3834a..6f9fb07e 100644 --- a/common/log.c +++ b/common/log.c @@ -30,8 +30,6 @@ void init_log(log_importance_t verbosity) { loglevel_default = verbosity; } v = verbosity; - signal(SIGSEGV, error_handler); - signal(SIGABRT, error_handler); } void set_log_level(log_importance_t verbosity) { @@ -39,7 +37,7 @@ void set_log_level(log_importance_t verbosity) { } log_importance_t get_log_level(void) { - return v; + return v; } void reset_log_level(void) { @@ -136,46 +134,3 @@ bool _sway_assert(bool condition, const char* format, ...) { return false; } - -void error_handler(int sig) { -#if SWAY_Backtrace_FOUND - int i; - int max_lines = 20; - void *array[max_lines]; - char **bt; - size_t bt_len; - char maps_file[256]; - char maps_buffer[1024]; - - sway_log(L_ERROR, "Error: Signal %d. Printing backtrace", sig); - bt_len = backtrace(array, max_lines); - bt = backtrace_symbols(array, bt_len); - if (!bt) { - sway_log(L_ERROR, "Could not allocate sufficient memory for backtrace_symbols(), falling back to stderr"); - backtrace_symbols_fd(array, bt_len, STDERR_FILENO); - exit(1); - } - - for (i = 0; (size_t)i < bt_len; i++) { - sway_log(L_ERROR, "Backtrace: %s", bt[i]); - } - - sway_log(L_ERROR, "Maps:"); - pid_t pid = getpid(); - if (snprintf(maps_file, 255, "/proc/%zd/maps", (size_t)pid) < 255) { - FILE *maps = fopen(maps_file, "r"); - while (!feof(maps)) { - char *m = read_line_buffer(maps, maps_buffer, 1024); - if (!m) { - sway_log(L_ERROR, "Unable to allocate memory to show maps"); - break; - } - sway_log(L_ERROR, "%s", m); - } - fclose(maps); - } -#else - sway_log(L_ERROR, "Error: Signal %d.", sig); -#endif - exit(1); -} |