Lines Matching refs:kn
74 struct knote *kn;
92 kn = knote_lookup(filt, sig[i].ssi_signo);
93 if (kn == NULL)
97 memcpy(dst, &kn->kev, sizeof(*dst));
101 if (kn->kev.flags & EV_DISPATCH || kn->kev.flags & EV_ONESHOT) {
105 if (kn->kev.flags & EV_DISPATCH)
106 KNOTE_DISABLE(kn);
107 if (kn->kev.flags & EV_ONESHOT)
108 knote_free(filt, kn);
118 evfilt_signal_knote_create(struct filter *filt, struct knote *kn)
120 if (kn->kev.ident >= SIGNAL_MAX) {
121 dbg_printf("bad signal number %u", (u_int) kn->kev.ident);
125 kn->kev.flags |= EV_CLEAR;
126 sigaddset(&filt->kf_sigmask, kn->kev.ident);
132 evfilt_signal_knote_modify(struct filter *filt, struct knote *kn,
146 evfilt_signal_knote_delete(struct filter *filt, struct knote *kn)
148 sigdelset(&filt->kf_sigmask, kn->kev.ident);
154 evfilt_signal_knote_enable(struct filter *filt, struct knote *kn)
156 sigaddset(&filt->kf_sigmask, kn->kev.ident);
162 evfilt_signal_knote_disable(struct filter *filt, struct knote *kn)
164 return (evfilt_signal_knote_delete(filt, kn));