Rev 3474 | Rev 4347 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 3474 | Rev 3535 | ||
|---|---|---|---|
| Line 506... | Line 506... | ||
| 506 | 506 | ||
| 507 | spinlock_unlock(&box->lock); |
507 | spinlock_unlock(&box->lock); |
| 508 | interrupts_restore(ipl); |
508 | interrupts_restore(ipl); |
| 509 | 509 | ||
| 510 | /* Free unused call */ |
510 | /* Free unused call */ |
| - | 511 | if (call) |
|
| 511 | if (call) ipc_call_free(call); |
512 | ipc_call_free(call); |
| 512 | } |
513 | } |
| 513 | 514 | ||
| 514 | /** Cleans up all IPC communication of the current task. |
515 | /** Cleans up all IPC communication of the current task. |
| 515 | * |
516 | * |
| 516 | * Note: ipc_hangup sets returning answerbox to TASK->answerbox, you |
517 | * Note: ipc_hangup sets returning answerbox to TASK->answerbox, you |
| Line 571... | Line 572... | ||
| 571 | SYNCH_FLAGS_NONE); |
572 | SYNCH_FLAGS_NONE); |
| 572 | ASSERT((call->flags & IPC_CALL_ANSWERED) || |
573 | ASSERT((call->flags & IPC_CALL_ANSWERED) || |
| 573 | (call->flags & IPC_CALL_NOTIF)); |
574 | (call->flags & IPC_CALL_NOTIF)); |
| 574 | ASSERT(!(call->flags & IPC_CALL_STATIC_ALLOC)); |
575 | ASSERT(!(call->flags & IPC_CALL_STATIC_ALLOC)); |
| 575 | 576 | ||
| - | 577 | /* |
|
| - | 578 | * Record the receipt of this call in the current task's counter |
|
| - | 579 | * of active calls. IPC_M_PHONE_HUNGUP calls do not contribute |
|
| - | 580 | * to this counter so do not record answers to them either. |
|
| - | 581 | */ |
|
| 576 | if (!(call->flags & IPC_CALL_DISCARD_ANSWER)) |
582 | if (!(call->flags & IPC_CALL_DISCARD_ANSWER)) |
| 577 | atomic_dec(&TASK->active_calls); |
583 | atomic_dec(&TASK->active_calls); |
| 578 | ipc_call_free(call); |
584 | ipc_call_free(call); |
| 579 | } |
585 | } |
| 580 | } |
586 | } |