Lines Matching defs:sig

98 static sa_handler_t call_os_signal(int sig, sa_handler_t disp,
111 return (*os_signal)(sig, disp);
114 static void save_signal_handler(int sig, sa_handler_t disp, bool is_sigset) {
119 sact[sig].sa_handler = disp;
121 sact[sig].sa_mask = set;
123 sact[sig].sa_flags = SA_NODEFER;
124 if (sig != SIGILL && sig != SIGTRAP && sig != SIGPWR) {
125 sact[sig].sa_flags |= SA_RESETHAND;
128 sact[sig].sa_flags = 0;
132 static sa_handler_t set_signal(int sig, sa_handler_t disp, bool is_sigset) {
141 if (jvm_signal_installed && sigismember(&jvmsigs, sig)) {
146 sigblocked = sigismember(&(sact[sig].sa_mask), sig);
148 oldhandler = sact[sig].sa_handler;
149 save_signal_handler(sig, disp, is_sigset);
161 oldhandler = call_os_signal(sig, disp, is_sigset);
162 save_signal_handler(sig, oldhandler, is_sigset);
165 sigaddset(&jvmsigs, sig);
172 oldhandler = call_os_signal(sig, disp, is_sigset);
179 sa_handler_t signal(int sig, sa_handler_t disp) {
180 return set_signal(sig, disp, false);
183 sa_handler_t sigset(int sig, sa_handler_t disp) {
184 return set_signal(sig, disp, true);
187 static int call_os_sigaction(int sig, const struct sigaction *act,
196 return (*os_sigaction)(sig, act, oact);
199 int sigaction(int sig, const struct sigaction *act, struct sigaction *oact) {
208 if (jvm_signal_installed && sigismember(&jvmsigs, sig)) {
212 *oact = sact[sig];
215 sact[sig] = *act;
223 res = call_os_sigaction(sig, act, &oldAct);
224 sact[sig] = oldAct;
230 sigaddset(&jvmsigs, sig);
237 res = call_os_sigaction(sig, act, oact);
260 struct sigaction *JVM_get_signal_action(int sig) {
265 if (sigismember(&jvmsigs, sig)) {
266 return &sact[sig];