Lines Matching defs:filt
38 update_sigmask(const struct filter *filt)
41 rv = signalfd(filt->kf_pfd, &filt->kf_sigmask, 0);
42 dbg_printf("signalfd = %d", filt->kf_pfd);
43 if (rv < 0 || rv != filt->kf_pfd) {
52 evfilt_signal_init(struct filter *filt)
54 sigemptyset(&filt->kf_sigmask);
55 filt->kf_pfd = signalfd(-1, &filt->kf_sigmask, 0);
56 dbg_printf("signalfd = %d", filt->kf_pfd);
57 if (filt->kf_pfd < 0)
64 evfilt_signal_destroy(struct filter *filt)
66 close (filt->kf_pfd);
70 evfilt_signal_copyout(struct filter *filt,
79 n = read(filt->kf_pfd, &sig, nevents * sizeof(sig[0]));
92 kn = knote_lookup(filt, sig[i].ssi_signo);
102 sigdelset(&filt->kf_sigmask, dst->ident);
103 update_sigmask(filt); /* TODO: error checking */
108 knote_free(filt, kn);
118 evfilt_signal_knote_create(struct filter *filt, struct knote *kn)
126 sigaddset(&filt->kf_sigmask, kn->kev.ident);
128 return (update_sigmask(filt));
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);
150 return (update_sigmask(filt));
154 evfilt_signal_knote_enable(struct filter *filt, struct knote *kn)
156 sigaddset(&filt->kf_sigmask, kn->kev.ident);
158 return (update_sigmask(filt));
162 evfilt_signal_knote_disable(struct filter *filt, struct knote *kn)
164 return (evfilt_signal_knote_delete(filt, kn));