static gs_sigaction_func gs_signal_install_handler(void) { struct sigaction act, oact; sigemptyset(&act.sa_mask); act.sa_sigaction = gs_res_signal_handler; act.sa_flags = 0; act.sa_flags |= SA_SIGINFO; act.sa_flags |= SA_RESTART; sigaction(RES_SIGNAL, &act, &oact); return oact.sa_sigaction; }