- Timestamp:
- 2017-11-23T23:52:59Z (8 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f571ca49
- Parents:
- b1f36e3
- Location:
- uspace
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/trace/ipcp.c
rb1f36e3 r503ffce 323 323 pending_call_t *pcall; 324 324 325 if ((hash & IPC_CALLID_ANSWERED) == 0 && hash != IPCP_CALLID_SYNC) { 325 if ((call->flags & IPC_CALLID_ANSWERED) == 0 && 326 hash != IPCP_CALLID_SYNC) { 326 327 /* Not a response */ 327 328 if ((display_mask & DM_IPC) != 0) { … … 331 332 } 332 333 333 hash = hash & ~IPC_CALLID_ANSWERED;334 335 334 item = hash_table_find(&pending_calls, &hash); 336 335 if (item == NULL) -
uspace/lib/c/generic/async.c
rb1f36e3 r503ffce 1341 1341 1342 1342 /* Kernel notification */ 1343 if ( (callid & IPC_CALLID_NOTIFICATION)) {1343 if (call->flags & IPC_CALLID_NOTIFICATION) { 1344 1344 fibril_t *fibril = (fibril_t *) __tcb_get()->fibril_data; 1345 1345 unsigned oldsw = fibril->switches; … … 1495 1495 } 1496 1496 1497 if (call id& IPC_CALLID_ANSWERED)1497 if (call.flags & IPC_CALLID_ANSWERED) 1498 1498 continue; 1499 1499 -
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; -
uspace/lib/c/include/ipc/common.h
rb1f36e3 r503ffce 49 49 task_id_t in_task_id; 50 50 sysarg_t in_phone_hash; 51 unsigned flags; 51 52 struct async_call *label; 52 53 } ipc_call_t;
Note:
See TracChangeset
for help on using the changeset viewer.