diff --git a/signal.c b/signal.c index 25f954033e..7fc93bb0b9 100644 --- a/signal.c +++ b/signal.c @@ -937,24 +937,6 @@ sigbus(int sig SIGINFO_ARG) } #endif -#ifndef __sun -NORETURN(static void ruby_abort(void)); -#endif - -static void -ruby_abort(void) -{ -#ifdef __sun - /* Solaris's abort() is async signal unsafe. Of course, it is not - * POSIX compliant. - */ - raise(SIGABRT); -#else - abort(); -#endif - -} - #ifdef SIGSEGV NORETURN(static ruby_sigaction_t sigsegv); @@ -983,6 +965,23 @@ sigill(int sig SIGINFO_ARG) } #endif +#ifndef __sun +NORETURN(static void ruby_abort(void)); +#endif + +static void +ruby_abort(void) +{ +#ifdef __sun + /* Solaris's abort() is async signal unsafe. Of course, it is not + * POSIX compliant. + */ + raise(SIGABRT); +#else + abort(); +#endif +} + static void check_reserved_signal_(const char *name, size_t name_len) {