Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 503ffce in mainline for uspace/lib/c/generic/ipc.c


Ignore:
Timestamp:
2017-11-23T23:52:59Z (4 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master
Children:
f571ca49
Parents:
b1f36e3
Message:

Return IPC_CALLID_* in call data instead of callid

Callid will be replaced by capability handles soon so the API needs
to be cleanup up and any flags passed together with callid must be
passed using some other way.

File:
1 edited

Legend:

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

    rb1f36e3 r503ffce  
    259259 * @param flags Flags passed to SYS_IPC_WAIT (blocking, nonblocking).
    260260 *
    261  * @return Hash of the call. Note that certain bits have special
    262  *         meaning: IPC_CALLID_ANSWERED is set in an answer
    263  *         and IPC_CALLID_NOTIFICATION is used for notifications.
    264  *
     261 * @return Hash of the call.
    265262 */
    266263ipc_callid_t ipc_wait_cycle(ipc_call_t *call, sysarg_t usec,
     
    271268       
    272269        /* Handle received answers */
    273         if (callid & IPC_CALLID_ANSWERED)
     270        if (callid && (call->flags & IPC_CALLID_ANSWERED))
    274271                handle_answer(callid, call);
    275272       
     
    301298        do {
    302299                callid = ipc_wait_cycle(call, usec, SYNCH_FLAGS_NONE);
    303         } while (callid & IPC_CALLID_ANSWERED);
     300        } while (callid && (call->flags & IPC_CALLID_ANSWERED));
    304301       
    305302        return callid;
     
    322319                callid = ipc_wait_cycle(call, SYNCH_NO_TIMEOUT,
    323320                    SYNCH_FLAGS_NON_BLOCKING);
    324         } while (callid & IPC_CALLID_ANSWERED);
     321        } while (callid && (call->flags & IPC_CALLID_ANSWERED));
    325322       
    326323        return callid;
Note: See TracChangeset for help on using the changeset viewer.