Rev 3535 | Rev 4345 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3535 | Rev 3674 | ||
---|---|---|---|
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)); |