Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/proc/task.c

    r455241b rf35749e  
    11/*
     2 * Copyright (c) 2025 Jiri Svoboda
    23 * Copyright (c) 2010 Jakub Jermar
    3  * Copyright (c) 2018 Jiri Svoboda
    44 * All rights reserved.
    55 *
     
    104104 *
    105105 */
    106 void task_done(void)
     106void task_done(task_t *cur_task)
    107107{
    108108        size_t tasks_left;
     
    112112                task_t *task_0 = ipc_box_0->task;
    113113                ipc_box_0 = NULL;
     114
    114115                /*
    115116                 * The first task is held by kinit(), we need to release it or
     
    129130                task = task_first();
    130131                while (task != NULL) {
    131                         if (task != TASK) {
     132                        if (task != cur_task) {
    132133                                tasks_left++;
    133134#ifdef CONFIG_DEBUG
     
    201202                return NULL;
    202203
    203         if (caps_task_init(task) != EOK) {
    204                 slab_free(task_cache, task);
    205                 return NULL;
    206         }
    207 
    208204        refcount_init(&task->refcount);
    209205
     
    217213        task->ucycles = 0;
    218214        task->kcycles = 0;
     215
     216        caps_task_init(task);
    219217
    220218        task->ipc_info.call_sent = 0;
     
    251249                }
    252250
    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);
    256254        }
    257255
     
    290288         */
    291289        as_release(task->as);
    292 
    293         caps_task_clear(task);
    294290
    295291        slab_free(task_cache, task);
Note: See TracChangeset for help on using the changeset viewer.