Changeset 0722869 in mainline for uspace


Ignore:
Timestamp:
2017-12-09T18:21:29Z (8 years ago)
Author:
GitHub <noreply@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
bd253241
Parents:
071a1ddb (diff), 0016674 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
git-author:
Jiří Zárevúcky <zarevucky.jiri@…> (2017-12-09 18:21:29)
git-committer:
GitHub <noreply@…> (2017-12-09 18:21:29)
Message:

Merge SYS_IPC_CONNECT_KBOX changes.

Return phone handle in SYS_IPC_CONNECT_KBOX separately from error code, don't leak phone on failure, and remove the unnecessary separation into two versions.

Location:
uspace/lib/c
Files:
3 edited

Legend:

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

    r071a1ddb r0722869  
    23982398        }
    23992399       
    2400         int phone = ipc_connect_kbox(id);
    2401         if (phone < 0) {
    2402                 errno = phone;
     2400        cap_handle_t phone;
     2401        int rc = ipc_connect_kbox(id, &phone);
     2402        if (rc != EOK) {
     2403                errno = rc;
    24032404                free(sess);
    24042405                return NULL;
  • uspace/lib/c/generic/ipc.c

    r071a1ddb r0722869  
    377377 *
    378378 */
    379 int ipc_connect_kbox(task_id_t id)
    380 {
    381 #ifdef __32_BITS__
    382         sysarg64_t arg = (sysarg64_t) id;
    383         return __SYSCALL1(SYS_IPC_CONNECT_KBOX, (sysarg_t) &arg);
    384 #endif
    385        
    386 #ifdef __64_BITS__
    387         return __SYSCALL1(SYS_IPC_CONNECT_KBOX, (sysarg_t) id);
    388 #endif
     379int ipc_connect_kbox(task_id_t id, cap_handle_t *phone)
     380{
     381        return __SYSCALL2(SYS_IPC_CONNECT_KBOX, (sysarg_t) &id, (sysarg_t) phone);
    389382}
    390383
  • uspace/lib/c/include/ipc/ipc.h

    r071a1ddb r0722869  
    122122    sysarg_t, sysarg_t, sysarg_t, sysarg_t, unsigned int);
    123123
    124 extern int ipc_connect_kbox(task_id_t);
     124extern int ipc_connect_kbox(task_id_t, cap_handle_t *);
    125125
    126126#endif
Note: See TracChangeset for help on using the changeset viewer.