mirror of
https://github.com/swaywm/sway.git
synced 2024-11-13 05:54:11 +01:00
Remove SIGSERV and SIGABORT handler
From now on let's just let the core dumps happen and ask users to provide them.
This commit is contained in:
parent
3bb880bf20
commit
c8917395c0
47
common/log.c
47
common/log.c
@ -30,8 +30,6 @@ void init_log(log_importance_t verbosity) {
|
|||||||
loglevel_default = verbosity;
|
loglevel_default = verbosity;
|
||||||
}
|
}
|
||||||
v = verbosity;
|
v = verbosity;
|
||||||
signal(SIGSEGV, error_handler);
|
|
||||||
signal(SIGABRT, error_handler);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void set_log_level(log_importance_t verbosity) {
|
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) {
|
log_importance_t get_log_level(void) {
|
||||||
return v;
|
return v;
|
||||||
}
|
}
|
||||||
|
|
||||||
void reset_log_level(void) {
|
void reset_log_level(void) {
|
||||||
@ -136,46 +134,3 @@ bool _sway_assert(bool condition, const char* format, ...) {
|
|||||||
|
|
||||||
return false;
|
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);
|
|
||||||
}
|
|
||||||
|
Loading…
Reference in New Issue
Block a user