Lucas A. M. Magalhaes 6185508101 nptl: Fix __futex_clocklock64 return error check [BZ #26964]
The earlier implementation of this, __lll_clocklock, calls lll_clockwait
that doesn't return the futex syscall error codes.  It always tries again
if that fails.

However in the current implementation, when the futex returns EAGAIN,
__futex_clocklock64 will also return EGAIN, even if the futex is taken.

This patch fixes the EAGAIN issue and also adds a check for EINTR.  As
futex syscall can return EINTR if the thread is interrupted by a signal.
In this case I'm assuming the function should continue trying to lock as
there is no mention to about it on POSIX.  Also add a test for both
scenarios.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
2020-12-01 18:26:26 -03:00
..
2007-05-15 06:49:29 +00:00
2020-06-07 13:35:54 +02:00
2020-06-07 13:35:54 +02:00
2020-05-26 00:46:07 +00:00
2011-10-24 21:43:33 -04:00
2008-05-31 08:56:14 +00:00
2007-05-26 01:23:04 +00:00
2020-11-13 15:20:10 +01:00