Changeset f6d2c81 in mainline for kernel/generic/src/proc/task.c


Ignore:
Timestamp:
2007-05-30T19:50:24Z (17 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
c31e536
Parents:
51ec40f
Message:

Fix two memory leaks.

In kernel, kernel_uarg structure needs to be deallocated when a thread
with userspace context is destroyed.

In userspace, the return value of the SYS_THREAD_CREATE must be checked
for error conditions and in case of error, uarg and stack must be freed
up.

File:
1 edited

Legend:

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

    r51ec40f rf6d2c81  
    108108                t = NULL;
    109109                link_t *cur;
    110                 for (cur = tasks_btree.leaf_head.next; cur != &tasks_btree.leaf_head; cur = cur->next) {
    111                         btree_node_t *node = list_get_instance(cur, btree_node_t, leaf_link);
     110                for (cur = tasks_btree.leaf_head.next;
     111                    cur != &tasks_btree.leaf_head; cur = cur->next) {
     112                        btree_node_t *node;
     113                       
     114                        node = list_get_instance(cur, btree_node_t, leaf_link);
    112115                       
    113116                        unsigned int i;
     
    222225 * @return Task of the running program or NULL on error.
    223226 */
    224 task_t * task_run_program(void *program_addr, char *name)
     227task_t *task_run_program(void *program_addr, char *name)
    225228{
    226229        as_t *as;
Note: See TracChangeset for help on using the changeset viewer.