Changeset 780c8ce in mainline for uspace/srv/taskman/event.c
- Timestamp:
- 2019-08-07T05:52:27Z (6 years ago)
- Children:
- 012dd8e
- Parents:
- 2aaccd3
- git-author:
- Michal Koutný <xm.koutny+hos@…> (2015-10-22 23:09:22)
- git-committer:
- Matthieu Riolo <matthieu.riolo@…> (2019-08-07 05:52:27)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/taskman/event.c
r2aaccd3 r780c8ce 189 189 } 190 190 191 void wait_for_task(task_id_t id, int flags, ipc_callid_t callid, ipc_call_t *call) 191 void wait_for_task(task_id_t id, int flags, ipc_callid_t callid, 192 task_id_t waiter_id) 192 193 { 193 194 assert(!(flags & TASK_WAIT_BOTH) || … … 214 215 * wait. 215 216 */ 216 task_id_t waiter_id = call->in_task_id;217 217 fibril_rwlock_write_lock(&pending_wait_lock); 218 218 pending_wait_t *pr = NULL; … … 264 264 265 265 266 int task_set_retval( ipc_call_t *call)266 int task_set_retval(task_id_t sender, int retval, bool wait_for_exit) 267 267 { 268 268 int rc = EOK; 269 task_id_t id = call->in_task_id;270 269 271 270 fibril_rwlock_write_lock(&task_hash_table_lock); 272 task_t *t = task_get_by_id( id);271 task_t *t = task_get_by_id(sender); 273 272 274 273 if ((t == NULL) || (t->exit != TASK_EXIT_RUNNING)) { … … 277 276 } 278 277 279 t->retval = IPC_GET_ARG1(*call);280 t->retval_type = IPC_GET_ARG2(*call)? RVAL_SET_EXIT : RVAL_SET;278 t->retval = retval; 279 t->retval_type = wait_for_exit ? RVAL_SET_EXIT : RVAL_SET; 281 280 282 281 event_notify(t);
Note:
See TracChangeset
for help on using the changeset viewer.