Changeset 74965d2 in mainline


Ignore:
Timestamp:
2008-08-24T18:37:45Z (16 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
b510d52
Parents:
645d9ed2
Message:

Demasquerade the caller phone during ipc_answer_n() rather than in
ipc_wait_for_call().

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/ipc/ipc.c

    r645d9ed2 r74965d2  
    195195
    196196        call->flags |= IPC_CALL_ANSWERED;
     197
     198        if (call->flags & IPC_CALL_FORWARDED) {
     199                if (call->data.caller_phone) {
     200                        /* Demasquerade the caller phone. */
     201                        call->data.phone = call->data.caller_phone;
     202                }
     203        }
    197204
    198205        spinlock_lock(&callerbox->lock);
     
    396403                request = list_get_instance(box->answers.next, call_t, link);
    397404                list_remove(&request->link);
    398                 if (request->data.caller_phone)
    399                         atomic_dec(&request->data.caller_phone->active_calls);
    400                 else
    401                         atomic_dec(&request->data.phone->active_calls);
     405                atomic_dec(&request->data.phone->active_calls);
    402406        } else if (!list_empty(&box->calls)) {
    403407                /* Handle requests */
Note: See TracChangeset for help on using the changeset viewer.