Ignore:
File:
1 edited

Legend:

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

    r022d72ff r466e95f7  
    4444        int newphid = phone_alloc(TASK);
    4545
    46         /* Remember the phoneid or the error. */
    47         call->priv = newphid;
    4846        if (newphid < 0)
    4947                return ELIMIT;
     
    5149        /* Set arg5 for server */
    5250        IPC_SET_ARG5(call->data, (sysarg_t) &TASK->phones[newphid]);
     51        call->priv = newphid;
    5352
    5453        return EOK;
     
    7473static int answer_process(call_t *answer)
    7574{
    76         int newphid = (int) answer->priv;
    77 
    78         if (IPC_GET_RETVAL(answer->data)) {
    79                 if (newphid >= 0) {
    80                         /*
    81                          * The phone was indeed allocated and now needs
    82                          * to be deallocated.
    83                          */
    84                         phone_dealloc(newphid);
    85                 }
    86         } else {
    87                 IPC_SET_ARG5(answer->data, newphid);
    88         }
     75        if (IPC_GET_RETVAL(answer->data))
     76                phone_dealloc(answer->priv);
     77        else
     78                IPC_SET_ARG5(answer->data, answer->priv);
    8979       
    9080        return EOK;
Note: See TracChangeset for help on using the changeset viewer.