Changeset 503ffce in mainline for uspace/lib/c/generic/ipc.c
- Timestamp:
- 2017-11-23T23:52:59Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f571ca49
- Parents:
- b1f36e3
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/generic/ipc.c
rb1f36e3 r503ffce 259 259 * @param flags Flags passed to SYS_IPC_WAIT (blocking, nonblocking). 260 260 * 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. 265 262 */ 266 263 ipc_callid_t ipc_wait_cycle(ipc_call_t *call, sysarg_t usec, … … 271 268 272 269 /* Handle received answers */ 273 if (callid & IPC_CALLID_ANSWERED)270 if (callid && (call->flags & IPC_CALLID_ANSWERED)) 274 271 handle_answer(callid, call); 275 272 … … 301 298 do { 302 299 callid = ipc_wait_cycle(call, usec, SYNCH_FLAGS_NONE); 303 } while (callid & IPC_CALLID_ANSWERED);300 } while (callid && (call->flags & IPC_CALLID_ANSWERED)); 304 301 305 302 return callid; … … 322 319 callid = ipc_wait_cycle(call, SYNCH_NO_TIMEOUT, 323 320 SYNCH_FLAGS_NON_BLOCKING); 324 } while (callid & IPC_CALLID_ANSWERED);321 } while (callid && (call->flags & IPC_CALLID_ANSWERED)); 325 322 326 323 return callid;
Note:
See TracChangeset
for help on using the changeset viewer.