Changeset b76a2217 in mainline for kernel/generic/include


Ignore:
Timestamp:
2007-07-29T19:17:25Z (18 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
7fe9c5b
Parents:
83a5cba
Message:

Give the AVL tree walkers the possibility to take an argument.
Each walker is now supposed to return a bool value to support walk termination.

Switch over from the tasks_btree B+tree to tasks_tree AVL tree.
This makes the fix for ticket #48 complete.

Location:
kernel/generic/include
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/adt/avl.h

    r83a5cba rb76a2217  
    5454typedef uint64_t avltree_key_t;
    5555
    56 typedef void (* avltree_walker_t)(avltree_node_t *);
     56typedef bool (* avltree_walker_t)(avltree_node_t *, void *);
    5757
    5858/** AVL tree node structure. */
     
    134134extern void avltree_delete(avltree_t *t, avltree_node_t *node);
    135135extern bool avltree_delete_min(avltree_t *t);
    136 extern void avltree_walk(avltree_t *t, avltree_walker_t walker);
     136extern void avltree_walk(avltree_t *t, avltree_walker_t walker, void *arg);
    137137
    138138#endif
  • kernel/generic/include/proc/task.h

    r83a5cba rb76a2217  
    4242#include <synch/rwlock.h>
    4343#include <synch/futex.h>
     44#include <adt/avl.h>
    4445#include <adt/btree.h>
    4546#include <adt/list.h>
     
    5758/** Task structure. */
    5859typedef struct task {
     60        /** Task's linkage for the tasks_tree AVL tree. */
     61        avltree_node_t tasks_tree_node;
     62       
    5963        /** Task lock.
    6064         *
     
    107111
    108112SPINLOCK_EXTERN(tasks_lock);
    109 extern btree_t tasks_btree;
     113extern avltree_t tasks_tree;
    110114
    111115extern void task_init(void);
Note: See TracChangeset for help on using the changeset viewer.