Subversion Repositories HelenOS

Rev

Rev 4581 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 4581 Rev 4718
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);