Changeset 25a179e in mainline for uspace/lib/c/generic/loader.c


Ignore:
Timestamp:
2017-12-20T19:51:45Z (7 years ago)
Author:
Jiří Zárevúcky <zarevucky.jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
f96b6c8
Parents:
d4a829e
Message:

IPC return values are always errno constants. Adjust types to reflect that.

In principle, IPC server is not allowed to return non-errno values via
the "main" return value, because kernel interprets it (e.g. EHANGUP).
It's still possible to return arbitrary additional return values alongside EOK,
which are not interpreted in normal communication.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/generic/loader.c

    rd4a829e r25a179e  
    9494        ipc_call_t answer;
    9595        aid_t req = async_send_0(exch, LOADER_GET_TASKID, &answer);
    96         sysarg_t rc = async_data_read_start(exch, task_id, sizeof(task_id_t));
     96        int rc = async_data_read_start(exch, task_id, sizeof(task_id_t));
    9797       
    9898        async_exchange_end(exch);
     
    131131        ipc_call_t answer;
    132132        aid_t req = async_send_0(exch, LOADER_SET_CWD, &answer);
    133         sysarg_t rc = async_data_write_start(exch, cwd, len);
     133        int rc = async_data_write_start(exch, cwd, len);
    134134       
    135135        async_exchange_end(exch);
     
    161161        aid_t req = async_send_0(exch, LOADER_SET_PROGRAM, &answer);
    162162
    163         sysarg_t rc = async_data_write_start(exch, name, str_size(name) + 1);
     163        int rc = async_data_write_start(exch, name, str_size(name) + 1);
    164164        if (rc == EOK) {
    165165                async_exch_t *vfs_exch = vfs_exchange_begin();
     
    252252        ipc_call_t answer;
    253253        aid_t req = async_send_0(exch, LOADER_SET_ARGS, &answer);
    254         sysarg_t rc = async_data_write_start(exch, (void *) arg_buf,
     254        int rc = async_data_write_start(exch, (void *) arg_buf,
    255255            buffer_size);
    256256       
     
    283283        aid_t req = async_send_0(exch, LOADER_ADD_INBOX, NULL);
    284284       
    285         sysarg_t rc = async_data_write_start(exch, name, str_size(name) + 1);
     285        int rc = async_data_write_start(exch, name, str_size(name) + 1);
    286286        if (rc == EOK) {
    287287                rc = vfs_pass_handle(vfs_exch, file, exch);
Note: See TracChangeset for help on using the changeset viewer.