Rev 4490 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4490 | Rev 4670 | ||
---|---|---|---|
Line 138... | Line 138... | ||
138 | IPC_SET_ARG2(call->data, a2); |
138 | IPC_SET_ARG2(call->data, a2); |
139 | IPC_SET_ARG3(call->data, a3); |
139 | IPC_SET_ARG3(call->data, a3); |
140 | IPC_SET_ARG4(call->data, a4); |
140 | IPC_SET_ARG4(call->data, a4); |
141 | IPC_SET_ARG5(call->data, a5); |
141 | IPC_SET_ARG5(call->data, a5); |
142 | 142 | ||
- | 143 | ipl_t ipl = interrupts_disable(); |
|
143 | spinlock_lock(&events[evno].answerbox->irq_lock); |
144 | spinlock_lock(&events[evno].answerbox->irq_lock); |
144 | list_append(&call->link, &events[evno].answerbox->irq_notifs); |
145 | list_append(&call->link, &events[evno].answerbox->irq_notifs); |
145 | spinlock_unlock(&events[evno].answerbox->irq_lock); |
146 | spinlock_unlock(&events[evno].answerbox->irq_lock); |
- | 147 | interrupts_restore(ipl); |
|
146 | 148 | ||
147 | waitq_wakeup(&events[evno].answerbox->wq, WAKEUP_FIRST); |
149 | waitq_wakeup(&events[evno].answerbox->wq, WAKEUP_FIRST); |
148 | } |
150 | } |
149 | } |
151 | } |
150 | spinlock_unlock(&events[evno].lock); |
152 | spinlock_unlock(&events[evno].lock); |