Ignore:
File:
1 edited

Legend:

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

    rc46bfbc r7f11dc6  
    7979static task_id_t task_counter = 0;
    8080
    81 static slab_cache_t *task_slab;
     81static slab_cache_t *task_cache;
    8282
    8383/* Forward declarations. */
     
    9393        TASK = NULL;
    9494        avltree_create(&tasks_tree);
    95         task_slab = slab_cache_create("task_t", sizeof(task_t), 0,
     95        task_cache = slab_cache_create("task_t", sizeof(task_t), 0,
    9696            tsk_constructor, tsk_destructor, 0);
    9797}
     
    185185#endif
    186186       
    187         return 0;
     187        return EOK;
    188188}
    189189
     
    206206task_t *task_create(as_t *as, const char *name)
    207207{
    208         task_t *task = (task_t *) slab_alloc(task_slab, 0);
     208        task_t *task = (task_t *) slab_alloc(task_cache, 0);
     209        if (task == NULL) {
     210                return NULL;
     211        }
     212       
    209213        task_create_arch(task);
    210214       
     
    241245        if ((ipc_phone_0) &&
    242246            (container_check(ipc_phone_0->task->container, task->container))) {
    243                 cap_handle_t phone_handle = phone_alloc(task);
     247                cap_handle_t phone_handle;
     248                int rc = phone_alloc(task, &phone_handle);
     249                if (rc != EOK) {
     250                        task->as = NULL;
     251                        task_destroy_arch(task);
     252                        slab_free(task_cache, task);
     253                        return NULL;
     254                }
     255               
    244256                kobject_t *phone_obj = kobject_get(task, phone_handle,
    245257                    KOBJECT_TYPE_PHONE);
     
    295307        as_release(task->as);
    296308       
    297         slab_free(task_slab, task);
     309        slab_free(task_cache, task);
    298310}
    299311
Note: See TracChangeset for help on using the changeset viewer.