Rev 2216 | Rev 2471 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 2216 | Rev 2310 | ||
|---|---|---|---|
| Line 161... | Line 161... | ||
| 161 | call->flags |= IPC_CALL_ANSWERED; |
161 | call->flags |= IPC_CALL_ANSWERED; |
| 162 | 162 | ||
| 163 | spinlock_lock(&callerbox->lock); |
163 | spinlock_lock(&callerbox->lock); |
| 164 | list_append(&call->link, &callerbox->answers); |
164 | list_append(&call->link, &callerbox->answers); |
| 165 | spinlock_unlock(&callerbox->lock); |
165 | spinlock_unlock(&callerbox->lock); |
| 166 | waitq_wakeup(&callerbox->wq, 0); |
166 | waitq_wakeup(&callerbox->wq, WAKEUP_FIRST); |
| 167 | } |
167 | } |
| 168 | 168 | ||
| 169 | /** Answer message, that is in callee queue |
169 | /** Answer message, that is in callee queue |
| 170 | * |
170 | * |
| 171 | * @param box Answerbox that is answering the message |
171 | * @param box Answerbox that is answering the message |
| Line 203... | Line 203... | ||
| 203 | } |
203 | } |
| 204 | 204 | ||
| 205 | spinlock_lock(&box->lock); |
205 | spinlock_lock(&box->lock); |
| 206 | list_append(&call->link, &box->calls); |
206 | list_append(&call->link, &box->calls); |
| 207 | spinlock_unlock(&box->lock); |
207 | spinlock_unlock(&box->lock); |
| 208 | waitq_wakeup(&box->wq, 0); |
208 | waitq_wakeup(&box->wq, WAKEUP_FIRST); |
| 209 | } |
209 | } |
| 210 | 210 | ||
| 211 | /** Send a asynchronous request using phone to answerbox |
211 | /** Send a asynchronous request using phone to answerbox |
| 212 | * |
212 | * |
| 213 | * @param phone Phone connected to answerbox. |
213 | * @param phone Phone connected to answerbox. |