Subversion Repositories HelenOS

Rev

Rev 3471 | Rev 3606 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3471 Rev 3536
Line 820... Line 820...
820
    if (call->flags & IPC_CALL_ANSWERED) {
820
    if (call->flags & IPC_CALL_ANSWERED) {
821
        process_answer(call);
821
        process_answer(call);
822
 
822
 
823
        ASSERT(! (call->flags & IPC_CALL_STATIC_ALLOC));
823
        ASSERT(! (call->flags & IPC_CALL_STATIC_ALLOC));
824
 
824
 
825
        if (!(call->flags & IPC_CALL_DISCARD_ANSWER))
-
 
826
            atomic_dec(&TASK->active_calls);
-
 
827
 
-
 
828
        if (call->flags & IPC_CALL_DISCARD_ANSWER) {
825
        if (call->flags & IPC_CALL_DISCARD_ANSWER) {
829
            ipc_call_free(call);
826
            ipc_call_free(call);
830
            goto restart;
827
            goto restart;
-
 
828
        } else {
-
 
829
            /*
-
 
830
             * Decrement the counter of active calls only if the
-
 
831
             * call is not an answer to IPC_M_PHONE_HUNGUP,
-
 
832
             * which doesn't contribute to the counter.
-
 
833
             */
-
 
834
            atomic_dec(&TASK->active_calls);
831
        }
835
        }
832
 
836
 
833
        STRUCT_TO_USPACE(&calldata->args, &call->data.args);
837
        STRUCT_TO_USPACE(&calldata->args, &call->data.args);
834
        ipc_call_free(call);
838
        ipc_call_free(call);
835
 
839