Subversion Repositories HelenOS-historic

Rev

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);