1
1
mirror of https://github.com/rui314/mold.git synced 2024-09-19 17:07:29 +03:00

Fix a signal handler

Pointed out in a post-commit review at
4819d3dc53
This commit is contained in:
Rui Ueyama 2022-05-07 16:29:32 +08:00
parent 4819d3dc53
commit 448a9ec4e3

View File

@ -39,10 +39,11 @@ static void sighandler(int signo, siginfo_t *info, void *ucontext) {
static std::mutex mu;
std::scoped_lock lock{mu};
if (output_buffer_start <= info->si_addr &&
if ((signo == SIGSEGV || signo == SIGBUS) &&
output_buffer_start <= info->si_addr &&
info->si_addr < output_buffer_end) {
const char msg[] = "mold: failed to write to an output file. Disk full?\n";
write(STDERR_FILENO, msg, sizeof(msg));
write(STDERR_FILENO, msg, sizeof(msg) - 1);
}
cleanup();