Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/proc/task.h

    r908bb96 rfaec9fc  
    4343#include <synch/mutex.h>
    4444#include <synch/futex.h>
     45#include <synch/workqueue.h>
    4546#include <adt/avl.h>
    4647#include <adt/btree.h>
     48#include <adt/cht.h>
    4749#include <adt/list.h>
    4850#include <security/cap.h>
     
    5759#include <mm/as.h>
    5860#include <abi/sysinfo.h>
     61#include <arch.h>
     62
     63#define TASK                 THE->task
     64
    5965
    6066struct thread;
     
    123129        task_arch_t arch;
    124130       
    125         /**
    126          * Serializes access to the B+tree of task's futexes. This mutex is
    127          * independent on the task spinlock.
    128          */
    129         mutex_t futexes_lock;
    130         /** B+tree of futexes referenced by this task. */
    131         btree_t futexes;
     131        struct futex_cache {
     132                /** CHT mapping virtual addresses of futex variables to futex objects.*/
     133                cht_t ht;
     134                /** Serializes access to futex_list.*/
     135                SPINLOCK_DECLARE(list_lock);
     136                /** List of all futexes accesses by this task. */
     137                list_t list;
     138                work_t destroy_work;
     139        } *futexes;
    132140       
    133141        /** Accumulated accounting. */
Note: See TracChangeset for help on using the changeset viewer.