Rev 3492 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 3492 | Rev 3665 | ||
|---|---|---|---|
| Line 453... | Line 453... | ||
| 453 | */ |
453 | */ |
| 454 | IPC_SET_ARG4(call.data, 0); |
454 | IPC_SET_ARG4(call.data, 0); |
| 455 | IPC_SET_ARG5(call.data, 0); |
455 | IPC_SET_ARG5(call.data, 0); |
| 456 | 456 | ||
| 457 | if (!(res = request_preprocess(&call, phone))) { |
457 | if (!(res = request_preprocess(&call, phone))) { |
| - | 458 | #ifdef CONFIG_UDEBUG |
|
| - | 459 | udebug_stoppable_begin(); |
|
| - | 460 | #endif |
|
| 458 | rc = ipc_call_sync(phone, &call); |
461 | rc = ipc_call_sync(phone, &call); |
| - | 462 | #ifdef CONFIG_UDEBUG |
|
| - | 463 | udebug_stoppable_end(); |
|
| - | 464 | #endif |
|
| 459 | if (rc != EOK) |
465 | if (rc != EOK) |
| 460 | return rc; |
466 | return rc; |
| 461 | process_answer(&call); |
467 | process_answer(&call); |
| - | 468 | ||
| 462 | } else { |
469 | } else { |
| 463 | IPC_SET_RETVAL(call.data, res); |
470 | IPC_SET_RETVAL(call.data, res); |
| 464 | } |
471 | } |
| 465 | rc = STRUCT_TO_USPACE(&data->args, &call.data.args); |
472 | rc = STRUCT_TO_USPACE(&data->args, &call.data.args); |
| 466 | if (rc != 0) |
473 | if (rc != 0) |
| Line 493... | Line 500... | ||
| 493 | return (unative_t) rc; |
500 | return (unative_t) rc; |
| 494 | 501 | ||
| 495 | GET_CHECK_PHONE(phone, phoneid, return ENOENT); |
502 | GET_CHECK_PHONE(phone, phoneid, return ENOENT); |
| 496 | 503 | ||
| 497 | if (!(res = request_preprocess(&call, phone))) { |
504 | if (!(res = request_preprocess(&call, phone))) { |
| - | 505 | #ifdef CONFIG_UDEBUG |
|
| - | 506 | udebug_stoppable_begin(); |
|
| - | 507 | #endif |
|
| 498 | rc = ipc_call_sync(phone, &call); |
508 | rc = ipc_call_sync(phone, &call); |
| - | 509 | #ifdef CONFIG_UDEBUG |
|
| - | 510 | udebug_stoppable_end(); |
|
| - | 511 | #endif |
|
| 499 | if (rc != EOK) |
512 | if (rc != EOK) |
| 500 | return rc; |
513 | return rc; |
| 501 | process_answer(&call); |
514 | process_answer(&call); |
| 502 | } else |
515 | } else |
| 503 | IPC_SET_RETVAL(call.data, res); |
516 | IPC_SET_RETVAL(call.data, res); |
| Line 796... | Line 809... | ||
| 796 | */ |
809 | */ |
| 797 | unative_t sys_ipc_wait_for_call(ipc_data_t *calldata, uint32_t usec, int flags) |
810 | unative_t sys_ipc_wait_for_call(ipc_data_t *calldata, uint32_t usec, int flags) |
| 798 | { |
811 | { |
| 799 | call_t *call; |
812 | call_t *call; |
| 800 | 813 | ||
| 801 | restart: |
814 | restart: |
| - | 815 | ||
| - | 816 | #ifdef CONFIG_UDEBUG |
|
| - | 817 | udebug_stoppable_begin(); |
|
| - | 818 | #endif |
|
| 802 | call = ipc_wait_for_call(&TASK->answerbox, usec, |
819 | call = ipc_wait_for_call(&TASK->answerbox, usec, |
| 803 | flags | SYNCH_FLAGS_INTERRUPTIBLE); |
820 | flags | SYNCH_FLAGS_INTERRUPTIBLE); |
| - | 821 | ||
| - | 822 | #ifdef CONFIG_UDEBUG |
|
| - | 823 | udebug_stoppable_end(); |
|
| - | 824 | #endif |
|
| 804 | if (!call) |
825 | if (!call) |
| 805 | return 0; |
826 | return 0; |
| 806 | 827 | ||
| 807 | if (call->flags & IPC_CALL_NOTIF) { |
828 | if (call->flags & IPC_CALL_NOTIF) { |
| 808 | ASSERT(! (call->flags & IPC_CALL_STATIC_ALLOC)); |
829 | ASSERT(! (call->flags & IPC_CALL_STATIC_ALLOC)); |