/trunk/uspace/lib/libc/generic/task.c |
---|
148,10 → 148,26 |
return 0; |
} |
int task_wait(task_id_t id) |
int task_wait(task_id_t id, int *retval) |
{ |
return (int) async_req_2_0(PHONE_NS, NS_TASK_WAIT, LOWER32(id), UPPER32(id)); |
ipcarg_t rv; |
int rc; |
rc = (int) async_req_2_1(PHONE_NS, NS_TASK_WAIT, LOWER32(id), |
UPPER32(id), &rv); |
*retval = rv; |
return rc; |
} |
int task_retval(int val) |
{ |
task_id_t id; |
id = task_get_id(); |
return (int) async_req_3_0(PHONE_NS, NS_RETVAL, LOWER32(id), |
UPPER32(id), val); |
} |
/** @} |
*/ |
/trunk/uspace/lib/libc/generic/libc.c |
---|
61,6 → 61,8 |
void __main(void *pcb_ptr) |
{ |
int retval; |
__heap_init(); |
__async_init(); |
fibril_t *fibril = fibril_setup(); |
82,8 → 84,10 |
__stdio_init(__pcb->filc, __pcb->filv); |
} |
main(argc, argv); |
retval = main(argc, argv); |
__stdio_done(); |
(void) task_retval(retval); |
} |
void __exit(void) |