| 553 | } |
| 554 | |
| 555 | static void |
| 556 | ithread_destroy(struct intr_thread *ithread) |
| 557 | { |
| 558 | struct thread *td; |
| 559 | |
| 560 | CTR2(KTR_INTR, "%s: killing %s", __func__, ithread->it_event->ie_name); |
| 561 | td = ithread->it_thread; |
| 562 | thread_lock(td); |
| 563 | ithread->it_flags |= IT_DEAD; |
| 564 | if (TD_AWAITING_INTR(td)) { |
| 565 | TD_CLR_IWAIT(td); |
| 566 | sched_add(td, SRQ_INTR); |
| 567 | } else |
| 568 | thread_unlock(td); |
| 569 | } |
| 570 | |
| 571 | int |
| 572 | intr_event_add_handler(struct intr_event *ie, const char *name, |
no test coverage detected