Ignore:
Timestamp:
2017-08-17T19:11:14Z (7 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
1c85bae
Parents:
7e3826d9
Message:

Turn IPC phones into kobjects

File:
1 edited

Legend:

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

    r7e3826d9 r05ffb41  
    4242static int request_preprocess(call_t *call, phone_t *phone)
    4343{
    44         int newphid = phone_alloc(TASK);
     44        int cap = phone_alloc(TASK);
    4545
    46         /* Remember the phoneid or the error. */
    47         call->priv = newphid;
    48         if (newphid < 0)
     46        /* Remember the phone capability or the error. */
     47        call->priv = cap;
     48        if (cap < 0)
    4949                return ELIMIT;
    5050               
    5151        /* Set arg5 for server */
    52         IPC_SET_ARG5(call->data, (sysarg_t) &TASK->phones[newphid]);
     52        IPC_SET_ARG5(call->data, (sysarg_t) phone_get_current(cap));
    5353
    5454        return EOK;
     
    7474static int answer_process(call_t *answer)
    7575{
    76         int newphid = (int) answer->priv;
     76        int cap = (int) answer->priv;
    7777
    7878        if (IPC_GET_RETVAL(answer->data)) {
    79                 if (newphid >= 0) {
     79                if (cap >= 0) {
    8080                        /*
    8181                         * The phone was indeed allocated and now needs
    8282                         * to be deallocated.
    8383                         */
    84                         phone_dealloc(newphid);
     84                        phone_dealloc(cap);
    8585                }
    8686        } else {
    87                 IPC_SET_ARG5(answer->data, newphid);
     87                IPC_SET_ARG5(answer->data, cap);
    8888        }
    8989       
Note: See TracChangeset for help on using the changeset viewer.