Changes in kernel/generic/src/proc/task.c [455241b:f35749e] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/proc/task.c
r455241b rf35749e 1 1 /* 2 * Copyright (c) 2025 Jiri Svoboda 2 3 * Copyright (c) 2010 Jakub Jermar 3 * Copyright (c) 2018 Jiri Svoboda4 4 * All rights reserved. 5 5 * … … 104 104 * 105 105 */ 106 void task_done( void)106 void task_done(task_t *cur_task) 107 107 { 108 108 size_t tasks_left; … … 112 112 task_t *task_0 = ipc_box_0->task; 113 113 ipc_box_0 = NULL; 114 114 115 /* 115 116 * The first task is held by kinit(), we need to release it or … … 129 130 task = task_first(); 130 131 while (task != NULL) { 131 if (task != TASK) {132 if (task != cur_task) { 132 133 tasks_left++; 133 134 #ifdef CONFIG_DEBUG … … 201 202 return NULL; 202 203 203 if (caps_task_init(task) != EOK) {204 slab_free(task_cache, task);205 return NULL;206 }207 208 204 refcount_init(&task->refcount); 209 205 … … 217 213 task->ucycles = 0; 218 214 task->kcycles = 0; 215 216 caps_task_init(task); 219 217 220 218 task->ipc_info.call_sent = 0; … … 251 249 } 252 250 253 phone_t *phone = phone_from_kobject(254 kobject_get(task, phone_handle, KOBJECT_TYPE_PHONE));255 (void) ipc_phone_connect(phone , ipc_box_0);251 kobject_t *phone_obj = kobject_get(task, phone_handle, 252 KOBJECT_TYPE_PHONE); 253 (void) ipc_phone_connect(phone_obj->phone, ipc_box_0); 256 254 } 257 255 … … 290 288 */ 291 289 as_release(task->as); 292 293 caps_task_clear(task);294 290 295 291 slab_free(task_cache, task);
Note:
See TracChangeset
for help on using the changeset viewer.