Lines 113-127
__lll_robust_timedlock_wait (int *futex, const struct timespec *abstime,
Link Here
|
113 |
&& atomic_compare_and_exchange_bool_acq (futex, newval, oldval)) |
113 |
&& atomic_compare_and_exchange_bool_acq (futex, newval, oldval)) |
114 |
continue; |
114 |
continue; |
115 |
|
115 |
|
|
|
116 |
int err; |
116 |
/* If *futex == 2, wait until woken or timeout. */ |
117 |
/* If *futex == 2, wait until woken or timeout. */ |
117 |
#if (!defined __ASSUME_FUTEX_CLOCK_REALTIME \ |
118 |
#if (!defined __ASSUME_FUTEX_CLOCK_REALTIME \ |
118 |
|| !defined lll_futex_timed_wait_bitset) |
119 |
|| !defined lll_futex_timed_wait_bitset) |
119 |
lll_futex_timed_wait (futex, newval, &rt, private); |
120 |
err = lll_futex_timed_wait (futex, newval, &rt, private); |
120 |
#else |
121 |
#else |
121 |
lll_futex_timed_wait_bitset (futex, newval, abstime, |
122 |
err = lll_futex_timed_wait_bitset (futex, newval, abstime, |
122 |
FUTEX_CLOCK_REALTIME, private); |
123 |
FUTEX_CLOCK_REALTIME, private); |
123 |
#endif |
124 |
#endif |
124 |
|
125 |
|
|
|
126 |
/* the futex call time out */ |
127 |
if (err == -ETIMEDOUT) |
128 |
return ETIMEDOUT; |
129 |
|
125 |
try: |
130 |
try: |
126 |
; |
131 |
; |
127 |
} |
132 |
} |
128 |
- |
|
|