Lines Matching refs:kn
123 _timer_create(struct filter *filt, struct knote *kn)
127 kn->kev.flags |= EV_CLEAR;
136 req->ident = kn->kev.ident;
137 req->interval = kn->kev.data;
141 if (pthread_create(&kn->data.tid, &attr, sleeper_thread, req) != 0) {
153 _timer_delete(struct knote *kn)
155 if (pthread_cancel(kn->data.tid) != 0) {
202 struct knote *kn;
226 kn = knote_lookup(filt, si.ident);
230 if (kn == NULL)
233 dbg_printf("knote=%p", kn);
234 memcpy(dst, &kn->kev, sizeof(*dst));
238 if (kn->kev.flags & EV_DISPATCH) {
239 KNOTE_DISABLE(kn);
240 _timer_delete(kn);
241 } else if (kn->kev.flags & EV_ONESHOT) {
242 _timer_delete(kn);
243 knote_free(filt, kn);
250 evfilt_timer_knote_create(struct filter *filt, struct knote *kn)
252 return _timer_create(filt, kn);
256 evfilt_timer_knote_modify(struct filter *filt, struct knote *kn,
263 evfilt_timer_knote_delete(struct filter *filt, struct knote *kn)
265 if (kn->kev.flags & EV_DISABLE)
268 dbg_printf("deleting timer # %d", (int) kn->kev.ident);
269 return _timer_delete(kn);
273 evfilt_timer_knote_enable(struct filter *filt, struct knote *kn)
275 return evfilt_timer_knote_create(filt, kn);
279 evfilt_timer_knote_disable(struct filter *filt, struct knote *kn)
281 return evfilt_timer_knote_delete(filt, kn);