Rev 1568 | Rev 1698 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1568 | Rev 1573 | ||
|---|---|---|---|
| Line 138... | Line 138... | ||
| 138 | call_t *call, *result = NULL; |
138 | call_t *call, *result = NULL; |
| 139 | 139 | ||
| 140 | spinlock_lock(&TASK->answerbox.lock); |
140 | spinlock_lock(&TASK->answerbox.lock); |
| 141 | for (lst = TASK->answerbox.dispatched_calls.next; |
141 | for (lst = TASK->answerbox.dispatched_calls.next; |
| 142 | lst != &TASK->answerbox.dispatched_calls; lst = lst->next) { |
142 | lst != &TASK->answerbox.dispatched_calls; lst = lst->next) { |
| 143 | call = list_get_instance(lst, call_t, list); |
143 | call = list_get_instance(lst, call_t, link); |
| 144 | if ((__native)call == callid) { |
144 | if ((__native)call == callid) { |
| 145 | result = call; |
145 | result = call; |
| 146 | break; |
146 | break; |
| 147 | } |
147 | } |
| 148 | } |
148 | } |
| Line 175... | Line 175... | ||
| 175 | } |
175 | } |
| 176 | 176 | ||
| 177 | static void phone_deallocp(phone_t *phone) |
177 | static void phone_deallocp(phone_t *phone) |
| 178 | { |
178 | { |
| 179 | ASSERT(phone->state == IPC_PHONE_CONNECTING); |
179 | ASSERT(phone->state == IPC_PHONE_CONNECTING); |
| 180 | ASSERT(! phone->callee); |
- | |
| 181 | 180 | ||
| 182 | /* atomic operation */ |
181 | /* atomic operation */ |
| 183 | phone->state = IPC_PHONE_FREE; |
182 | phone->state = IPC_PHONE_FREE; |
| 184 | } |
183 | } |
| 185 | 184 | ||