Changes in kernel/generic/src/ipc/ipc.c [55b77d9:79ae36dd] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/ipc/ipc.c
r55b77d9 r79ae36dd 128 128 list_initialize(&box->answers); 129 129 list_initialize(&box->irq_notifs); 130 list_initialize(&box->irq_ list);130 list_initialize(&box->irq_head); 131 131 box->task = task; 132 132 } … … 183 183 */ 184 184 irq_spinlock_lock(&TASK->lock, true); 185 list_append(&sync_box->sync_box_link, &TASK->sync_box es);185 list_append(&sync_box->sync_box_link, &TASK->sync_box_head); 186 186 irq_spinlock_unlock(&TASK->lock, true); 187 187 … … 450 450 irq_spinlock_lock(&box->irq_lock, false); 451 451 452 request = list_get_instance(list_first(&box->irq_notifs), 453 call_t, link); 452 request = list_get_instance(box->irq_notifs.next, call_t, link); 454 453 list_remove(&request->link); 455 454 … … 460 459 461 460 /* Handle asynchronous answers */ 462 request = list_get_instance(list_first(&box->answers), 463 call_t, link); 461 request = list_get_instance(box->answers.next, call_t, link); 464 462 list_remove(&request->link); 465 463 atomic_dec(&request->data.phone->active_calls); … … 469 467 470 468 /* Handle requests */ 471 request = list_get_instance(list_first(&box->calls), 472 call_t, link); 469 request = list_get_instance(box->calls.next, call_t, link); 473 470 list_remove(&request->link); 474 471 … … 497 494 * 498 495 */ 499 void ipc_cleanup_call_list(li st_t *lst)496 void ipc_cleanup_call_list(link_t *lst) 500 497 { 501 498 while (!list_empty(lst)) { 502 call_t *call = list_get_instance(l ist_first(lst), call_t, link);499 call_t *call = list_get_instance(lst->next, call_t, link); 503 500 if (call->buffer) 504 501 free(call->buffer); … … 529 526 irq_spinlock_lock(&box->lock, true); 530 527 while (!list_empty(&box->connected_phones)) { 531 phone = list_get_instance( list_first(&box->connected_phones),528 phone = list_get_instance(box->connected_phones.next, 532 529 phone_t, link); 533 530 if (SYNCH_FAILED(mutex_trylock(&phone->lock))) { … … 609 606 /* Wait for all answers to interrupted synchronous calls to arrive */ 610 607 ipl_t ipl = interrupts_disable(); 611 while (!list_empty(&TASK->sync_box es)) {612 answerbox_t *box = list_get_instance( 613 list_first(&TASK->sync_boxes),answerbox_t, sync_box_link);608 while (!list_empty(&TASK->sync_box_head)) { 609 answerbox_t *box = list_get_instance(TASK->sync_box_head.next, 610 answerbox_t, sync_box_link); 614 611 615 612 list_remove(&box->sync_box_link); … … 746 743 #endif 747 744 745 link_t *cur; 746 748 747 printf(" --- incomming calls ---\n"); 749 list_foreach(task->answerbox.calls, cur) { 748 for (cur = task->answerbox.calls.next; cur != &task->answerbox.calls; 749 cur = cur->next) { 750 750 call_t *call = list_get_instance(cur, call_t, link); 751 751 … … 767 767 768 768 printf(" --- dispatched calls ---\n"); 769 list_foreach(task->answerbox.dispatched_calls, cur) { 769 for (cur = task->answerbox.dispatched_calls.next; 770 cur != &task->answerbox.dispatched_calls; 771 cur = cur->next) { 770 772 call_t *call = list_get_instance(cur, call_t, link); 771 773 … … 787 789 788 790 printf(" --- incoming answers ---\n"); 789 list_foreach(task->answerbox.answers, cur) { 791 for (cur = task->answerbox.answers.next; 792 cur != &task->answerbox.answers; 793 cur = cur->next) { 790 794 call_t *call = list_get_instance(cur, call_t, link); 791 795
Note:
See TracChangeset
for help on using the changeset viewer.