Subversion Repositories HelenOS

Rev

Rev 3474 | Rev 4348 | 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
}