Rev 3449 | Rev 4252 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3449 | Rev 3476 | ||
---|---|---|---|
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 | } |