Rev 1139 | Rev 1502 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1139 | Rev 1460 | ||
|---|---|---|---|
| Line 38... | Line 38... | ||
| 38 | /** Kernel-side futex structure. */ |
38 | /** Kernel-side futex structure. */ |
| 39 | struct futex { |
39 | struct futex { |
| 40 | __address paddr; /**< Physical address of the status variable. */ |
40 | __address paddr; /**< Physical address of the status variable. */ |
| 41 | waitq_t wq; /**< Wait queue for threads waiting for futex availability. */ |
41 | waitq_t wq; /**< Wait queue for threads waiting for futex availability. */ |
| 42 | link_t ht_link; /**< Futex hash table link. */ |
42 | link_t ht_link; /**< Futex hash table link. */ |
| - | 43 | count_t refcount; /**< Number of tasks that reference this futex. */ |
|
| 43 | }; |
44 | }; |
| 44 | 45 | ||
| 45 | extern void futex_init(void); |
46 | extern void futex_init(void); |
| 46 | extern __native sys_futex_sleep_timeout(__address uaddr, __u32 usec, int trydown); |
47 | extern __native sys_futex_sleep_timeout(__address uaddr, __u32 usec, int trydown); |
| 47 | extern __native sys_futex_wakeup(__address uaddr); |
48 | extern __native sys_futex_wakeup(__address uaddr); |