MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / sig_init

Function sig_init

extern/editline/src/sig.c:113–139  ·  view source on GitHub ↗

sig_init(): * Initialize all signal stuff */

Source from the content-addressed store, hash-verified

111 * Initialize all signal stuff
112 */
113protected int
114sig_init(EditLine *el)
115{
116 size_t i;
117 sigset_t *nset, oset;
118
119 el->el_signal = el_malloc(sizeof(*el->el_signal));
120 if (el->el_signal == NULL)
121 return -1;
122
123 nset = &el->el_signal->sig_set;
124 (void) sigemptyset(nset);
125#define _DO(a) (void) sigaddset(nset, a);
126 ALLSIGS
127#undef _DO
128 (void) sigprocmask(SIG_BLOCK, nset, &oset);
129
130 for (i = 0; sighdl[i] != -1; i++) {
131 el->el_signal->sig_action[i].sa_handler = SIG_ERR;
132 el->el_signal->sig_action[i].sa_flags = 0;
133 sigemptyset(&el->el_signal->sig_action[i].sa_mask);
134 }
135
136 (void) sigprocmask(SIG_SETMASK, &oset, NULL);
137
138 return 0;
139}
140
141
142/* sig_end():

Callers 1

el_init_fdFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected