Ignore:
File:
1 edited

Legend:

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

    r466e95f7 r2541646  
    161161{
    162162        int rc = EOK;
     163        sysipc_ops_t *ops;
    163164
    164165        spinlock_lock(&answer->forget_lock);
     
    169170                spinlock_unlock(&answer->forget_lock);
    170171
    171                 SYSIPC_OP(answer_cleanup, answer, olddata);
     172                ops = sysipc_ops_get(answer->request_method);
     173                if (ops->answer_cleanup)
     174                        ops->answer_cleanup(answer, olddata);
     175
    172176                return rc;
    173177        } else {
     
    209213                return rc;
    210214
    211         return SYSIPC_OP(answer_preprocess, answer, olddata);
     215        ops = sysipc_ops_get(answer->request_method);
     216        if (ops->answer_preprocess)
     217                rc = ops->answer_preprocess(answer, olddata);
     218       
     219        return rc;
    212220}
    213221
     
    222230static int request_preprocess(call_t *call, phone_t *phone)
    223231{
     232        int rc = EOK;
     233
    224234        call->request_method = IPC_GET_IMETHOD(call->data);
    225         return SYSIPC_OP(request_preprocess, call, phone);
     235
     236        sysipc_ops_t *ops = sysipc_ops_get(call->request_method);
     237        if (ops->request_preprocess)
     238                rc = ops->request_preprocess(call, phone);
     239       
     240        return rc;
    226241}
    227242
     
    241256                IPC_SET_RETVAL(call->data, EFORWARD);
    242257       
    243         SYSIPC_OP(answer_process, call);
     258        sysipc_ops_t *ops = sysipc_ops_get(call->request_method);
     259        if (ops->answer_process)
     260                (void) ops->answer_process(call);
    244261}
    245262
     
    256273static int process_request(answerbox_t *box, call_t *call)
    257274{
    258         return SYSIPC_OP(request_process, call, box);
     275        int rc = EOK;
     276
     277        sysipc_ops_t *ops = sysipc_ops_get(call->request_method);
     278        if (ops->request_process)
     279                rc = ops->request_process(call, box);
     280       
     281        return rc;
    259282}
    260283
Note: See TracChangeset for help on using the changeset viewer.