Rev 1358 | Rev 1468 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1358 | Rev 1460 | ||
---|---|---|---|
Line 29... | Line 29... | ||
29 | #ifndef __TASK_H__ |
29 | #ifndef __TASK_H__ |
30 | #define __TASK_H__ |
30 | #define __TASK_H__ |
31 | 31 | ||
32 | #include <typedefs.h> |
32 | #include <typedefs.h> |
33 | #include <synch/spinlock.h> |
33 | #include <synch/spinlock.h> |
- | 34 | #include <synch/mutex.h> |
|
34 | #include <adt/btree.h> |
35 | #include <adt/btree.h> |
35 | #include <adt/list.h> |
36 | #include <adt/list.h> |
36 | #include <ipc/ipc.h> |
37 | #include <ipc/ipc.h> |
37 | #include <security/cap.h> |
38 | #include <security/cap.h> |
38 | #include <arch/proc/task.h> |
39 | #include <arch/proc/task.h> |
Line 51... | Line 52... | ||
51 | answerbox_t answerbox; /**< Communication endpoint */ |
52 | answerbox_t answerbox; /**< Communication endpoint */ |
52 | phone_t phones[IPC_MAX_PHONES]; |
53 | phone_t phones[IPC_MAX_PHONES]; |
53 | atomic_t active_calls; /**< Active asynchronous messages */ |
54 | atomic_t active_calls; /**< Active asynchronous messages */ |
54 | 55 | ||
55 | task_arch_t arch; /**< Architecture specific task data. */ |
56 | task_arch_t arch; /**< Architecture specific task data. */ |
- | 57 | ||
- | 58 | /** |
|
- | 59 | * Serializes access to the B+tree of task's futexes. This mutex is |
|
- | 60 | * independent on the task spinlock. |
|
- | 61 | */ |
|
- | 62 | mutex_t futexes_lock; |
|
- | 63 | btree_t futexes; /**< B+tree of futexes referenced by this task. */ |
|
56 | }; |
64 | }; |
57 | 65 | ||
58 | extern spinlock_t tasks_lock; |
66 | extern spinlock_t tasks_lock; |
59 | extern btree_t tasks_btree; |
67 | extern btree_t tasks_btree; |
60 | 68 |