Lines Matching refs:kn
62 catch_signal(struct filter *filt, struct knote *kn)
67 sig = kn->kev.ident;
73 if (sigaction(kn->kev.ident, &sa, NULL) == -1) {
79 sigtbl[kn->kev.ident].s_filt = filt;
80 sigtbl[kn->kev.ident].s_knote = kn;
122 evfilt_signal_knote_create(struct filter *filt, struct knote *kn)
124 if (kn->kev.ident >= SIGNAL_MAX) {
126 (unsigned int) kn->kev.ident);
130 kn->kev.flags |= EV_CLEAR;
132 return catch_signal(filt, kn);
136 evfilt_signal_knote_modify(struct filter *filt, struct knote *kn,
139 kn->kev.flags = kev->flags | EV_CLEAR;
144 evfilt_signal_knote_delete(struct filter *filt, struct knote *kn)
146 return ignore_signal(kn->kev.ident);
150 evfilt_signal_knote_enable(struct filter *filt, struct knote *kn)
152 return catch_signal(filt, kn);
156 evfilt_signal_knote_disable(struct filter *filt, struct knote *kn)
158 return ignore_signal(kn->kev.ident);
167 struct knote *kn;
180 kn = s->s_knote;
185 dst->udata = kn->kev.udata;
186 dst->flags = kn->kev.flags;
190 if (kn->kev.flags & EV_DISPATCH) {
191 ignore_signal(kn->kev.ident);
192 KNOTE_DISABLE(kn);
193 } else if (kn->kev.flags & EV_ONESHOT) {
194 ignore_signal(kn->kev.ident);
195 knote_free(filt, kn);