| OLD | NEW |
| 1 #ifndef _NACL_FUTEX_EMULATION_H | 1 #ifndef _NACL_FUTEX_EMULATION_H |
| 2 #define _NACL_FUTEX_EMULATION_H | 2 #define _NACL_FUTEX_EMULATION_H |
| 3 | 3 |
| 4 | 4 |
| 5 #include <stdbool.h> | 5 #include <stdbool.h> |
| 6 #include <time.h> | 6 #include <time.h> |
| 7 #include <list.h> | 7 #include <list.h> |
| 8 | 8 |
| 9 struct thread_wait_list_node | 9 struct thread_wait_list_node |
| 10 { | 10 { |
| 11 list_t list; | 11 list_t list; |
| 12 volatile int *addr; | 12 volatile int *addr; |
| 13 unsigned int bitset; | 13 unsigned int bitset; |
| 14 int condvar_desc; | 14 int condvar_desc; |
| 15 bool desc_is_initialized; | 15 bool desc_is_initialized; |
| 16 }; | 16 }; |
| 17 | 17 |
| 18 #include <irt_syscalls.h> |
| 19 |
| 18 #define __FUTEX_BITSET_MATCH_ANY 0xFFFFFFFF | 20 #define __FUTEX_BITSET_MATCH_ANY 0xFFFFFFFF |
| 19 | 21 |
| 20 void __nacl_futex_init (void); | 22 void __nacl_futex_init (void); |
| 21 void __nacl_futex_fini (void); | 23 void __nacl_futex_fini (void); |
| 22 | 24 |
| 23 int __nacl_futex_wait (volatile int *addr, int val, unsigned int bitset, | 25 int __nacl_futex_wait (volatile int *addr, int val, unsigned int bitset, |
| 24 const struct timespec *timeout); | 26 const struct timespec *timeout); |
| 25 int __nacl_futex_wake (volatile int *addr, int nwake, unsigned int bitset); | 27 int __nacl_futex_wake (volatile int *addr, int nwake, unsigned int bitset, |
| 28 » » int *count); |
| 26 int __nacl_futex_wake_op (volatile int *addr1, volatile int *addr2, int nwake1, | 29 int __nacl_futex_wake_op (volatile int *addr1, volatile int *addr2, int nwake1, |
| 27 » » » int nwake2, int op); | 30 » » » int nwake2, int op, int *count); |
| 28 int __nacl_futex_cmp_requeue (volatile int *addr1, volatile int *addr2, int nwak
e, | 31 int __nacl_futex_cmp_requeue (volatile int *addr1, volatile int *addr2, int nwak
e, |
| 29 » » » int nrequeue, int val); | 32 » » » int nrequeue, int val, int *count); |
| 30 | 33 |
| 31 #endif | 34 #endif |
| OLD | NEW |