Lines Matching defs:signo
72 * Currently, they just assign one element per signo from a fix array
77 alloc_entry(int signo)
86 e = &entries[signo];
90 e->qe_signo = signo;
91 e->qe_handler = sigarray[signo];
110 sig_post(int signo)
114 if (sigarray[signo] == SIG_DFL || sigarray[signo] == SIG_IGN)
117 e = alloc_entry(signo);
135 int signo;
141 signo = e->qe_signo;
157 handler(signo);
165 sig_current(int signo)
167 assert(signo > 0 && signo < NSIG);
168 return sigarray[signo];
172 sig_signal(int signo, sig_t handler)
178 assert(signo > 0 && signo < NSIG);
181 (void)sigaddset(&nset, signo);
184 old_handler = sigarray[signo];
185 sigarray[signo] = handler;
193 do_default_handler(int signo, int flags)
205 (void)sigaction(signo, &nsa, &osa);
208 (void)sigaddset(&nset, signo);
211 (void)kill(0, signo);
214 (void)sigaction(signo, &osa, NULL);
222 sig_handler(int signo)
230 assert (signo > 0 && signo < NSIG); /* Should be guaranteed. */
232 sig_post(signo);
234 switch (signo) {
237 do_default_handler(signo, 0);
243 do_default_handler(signo, 0);
251 if (sigarray[signo] == SIG_DFL)
252 do_default_handler(signo, SA_RESTART);
420 sig_setflags(int signo, int flags, struct sigaction *osa)
424 if (sigaction(signo, NULL, &sa) == -1)
429 return sigaction(signo, &sa, NULL);