Ignore:
Timestamp:
2017-12-18T17:40:52Z (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:
2024096, 23d4515
Parents:
6a32cc5f
git-author:
Jiří Zárevúcky <zarevucky.jiri@…> (2017-12-18 15:39:01)
git-committer:
Jiří Zárevúcky <zarevucky.jiri@…> (2017-12-18 17:40:52)
Message:

Return phones/capabilities separately from error codes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/ipc/ops/conctmeto.c

    r6a32cc5f r09d01f2  
    4242static int request_preprocess(call_t *call, phone_t *phone)
    4343{
    44         cap_handle_t phone_handle = phone_alloc(TASK);
     44        cap_handle_t phone_handle;
     45        int rc = phone_alloc(TASK, &phone_handle);
    4546
    46         /* Remember the phone capability or the error. */
    47         call->priv = phone_handle;
    48         if (phone_handle < 0)
    49                 return phone_handle;
     47        /* Remember the phone capability or that an error occured. */
     48        call->priv = (rc == EOK) ? phone_handle : -1;
     49
     50        if (rc != EOK) {
     51                return rc;
     52        }
    5053
    5154        /* Set arg5 for server */
     
    6164{
    6265        cap_handle_t phone_handle = (cap_handle_t) call->priv;
     66
     67        if (phone_handle < 0) {
     68                return EOK;
     69        }
     70
    6371        phone_dealloc(phone_handle);
    6472        /* Hand over reference from ARG5 to phone->kobject */
Note: See TracChangeset for help on using the changeset viewer.