Changeset 95a3082 in mainline
- Timestamp:
- 2012-09-01T22:07:14Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- fcfa926b
- Parents:
- 4cd7fd0
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/ipc/sysipc.c
r4cd7fd0 r95a3082 412 412 { 413 413 call_t *call = get_call(callid); 414 bool need_old; 415 int rc; 416 414 417 if (!call) 415 418 return ENOENT; 416 417 call->flags |= IPC_CALL_FORWARDED;418 419 419 420 phone_t *phone; 420 421 if (phone_get(phoneid, &phone) != EOK) { 421 422 IPC_SET_RETVAL(call->data, EFORWARD); 422 ipc_answer(&TASK->answerbox, call);423 return ENOENT;423 rc = ENOENT; 424 goto error; 424 425 } 425 426 426 427 if (!method_is_forwardable(IPC_GET_IMETHOD(call->data))) { 427 428 IPC_SET_RETVAL(call->data, EFORWARD); 428 ipc_answer(&TASK->answerbox, call); 429 return EPERM; 430 } 429 rc = EPERM; 430 goto error; 431 } 432 433 call->flags |= IPC_CALL_FORWARDED; 431 434 432 435 /* … … 465 468 466 469 return ipc_forward(call, phone, &TASK->answerbox, mode); 470 471 error: 472 need_old = answer_need_old(call); 473 ipc_data_t old; 474 475 if (need_old) 476 old = call->data; 477 478 answer_preprocess(call, need_old ? &old : NULL); 479 ipc_answer(&TASK->answerbox, call); 480 return rc; 467 481 } 468 482
Note:
See TracChangeset
for help on using the changeset viewer.