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


Ignore:
Timestamp:
2017-12-20T19:51:45Z (6 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/async.c

    rd4a829e r25a179e  
    205205        ipc_call_t *dataptr;
    206206       
    207         sysarg_t retval;
     207        int retval;
    208208} amsg_t;
    209209
     
    332332                msg->destroyed = false;
    333333                msg->dataptr = NULL;
    334                 msg->retval = (sysarg_t) EINVAL;
     334                msg->retval = EINVAL;
    335335                awaiter_initialize(&msg->wdata);
    336336        }
     
    860860            &answer);
    861861       
    862         sysarg_t ret;
     862        int ret;
    863863        async_wait_for(req, &ret);
    864864        if (ret != EOK)
     
    17081708 *
    17091709 */
    1710 void async_wait_for(aid_t amsgid, sysarg_t *retval)
     1710void async_wait_for(aid_t amsgid, int *retval)
    17111711{
    17121712        assert(amsgid);
     
    17541754 *
    17551755 */
    1756 int async_wait_timeout(aid_t amsgid, sysarg_t *retval, suseconds_t timeout)
     1756int async_wait_timeout(aid_t amsgid, int *retval, suseconds_t timeout)
    17571757{
    17581758        assert(amsgid);
     
    19171917 *
    19181918 */
    1919 sysarg_t async_req_fast(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1,
     1919int async_req_fast(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1,
    19201920    sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t *r1, sysarg_t *r2,
    19211921    sysarg_t *r3, sysarg_t *r4, sysarg_t *r5)
     
    19281928            &result);
    19291929       
    1930         sysarg_t rc;
     1930        int rc;
    19311931        async_wait_for(aid, &rc);
    19321932       
     
    19691969 *
    19701970 */
    1971 sysarg_t async_req_slow(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1,
     1971int async_req_slow(async_exch_t *exch, sysarg_t imethod, sysarg_t arg1,
    19721972    sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5, sysarg_t *r1,
    19731973    sysarg_t *r2, sysarg_t *r3, sysarg_t *r4, sysarg_t *r5)
     
    19801980            &result);
    19811981       
    1982         sysarg_t rc;
     1982        int rc;
    19831983        async_wait_for(aid, &rc);
    19841984       
     
    20442044}
    20452045
    2046 sysarg_t async_answer_0(cap_handle_t chandle, sysarg_t retval)
     2046int async_answer_0(cap_handle_t chandle, int retval)
    20472047{
    20482048        return ipc_answer_0(chandle, retval);
    20492049}
    20502050
    2051 sysarg_t async_answer_1(cap_handle_t chandle, sysarg_t retval, sysarg_t arg1)
     2051int async_answer_1(cap_handle_t chandle, int retval, sysarg_t arg1)
    20522052{
    20532053        return ipc_answer_1(chandle, retval, arg1);
    20542054}
    20552055
    2056 sysarg_t async_answer_2(cap_handle_t chandle, sysarg_t retval, sysarg_t arg1,
     2056int async_answer_2(cap_handle_t chandle, int retval, sysarg_t arg1,
    20572057    sysarg_t arg2)
    20582058{
     
    20602060}
    20612061
    2062 sysarg_t async_answer_3(cap_handle_t chandle, sysarg_t retval, sysarg_t arg1,
     2062int async_answer_3(cap_handle_t chandle, int retval, sysarg_t arg1,
    20632063    sysarg_t arg2, sysarg_t arg3)
    20642064{
     
    20662066}
    20672067
    2068 sysarg_t async_answer_4(cap_handle_t chandle, sysarg_t retval, sysarg_t arg1,
     2068int async_answer_4(cap_handle_t chandle, int retval, sysarg_t arg1,
    20692069    sysarg_t arg2, sysarg_t arg3, sysarg_t arg4)
    20702070{
     
    20722072}
    20732073
    2074 sysarg_t async_answer_5(cap_handle_t chandle, sysarg_t retval, sysarg_t arg1,
     2074int async_answer_5(cap_handle_t chandle, int retval, sysarg_t arg1,
    20752075    sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5)
    20762076{
     
    21202120            &answer);
    21212121       
    2122         sysarg_t rc;
     2122        int rc;
    21232123        async_wait_for(req, &rc);
    21242124        if (rc != EOK)
     
    21472147            msg, reply_received);
    21482148       
    2149         sysarg_t rc;
     2149        int rc;
    21502150        async_wait_for((aid_t) msg, &rc);
    21512151       
     
    28862886        }
    28872887       
    2888         sysarg_t rc;
     2888        int rc;
    28892889        async_wait_for(msg, &rc);
    28902890       
     
    30643064 *
    30653065 */
    3066 void async_data_write_void(sysarg_t retval)
     3066void async_data_write_void(int retval)
    30673067{
    30683068        cap_handle_t chandle;
     
    31023102        }
    31033103       
    3104         sysarg_t rc;
     3104        int rc;
    31053105        async_wait_for(msg, &rc);
    31063106       
Note: See TracChangeset for help on using the changeset viewer.