tree 8dbc3f7ffb682fee3da2ac71d269746c90935f6e
parent 1ec71c531e118971e70ddd0e9e2ed9def2b3c779
author Rich Felker <dalias@aerifal.cx> 1545265961 -0500
committer Rich Felker <dalias@aerifal.cx> 1545265961 -0500

make sem_wait and sem_timedwait interruptible by signals

this reverts commit c0ed5a201b2bdb6d1896064bec0020c9973db0a1, which
was based on a mistaken reading of POSIX due to inconsistency between
the description (which requires return upon interruption by a signal)
and the errors list (which wrongly lists EINTR as "may fail").

since the previously-introduced behavior was a workaround for an old
kernel bug to ensure safety of correct programs that were not hardened
against the bug, an effort has been made to preserve it for programs
which do not use interrupting signal handlers. the stage for this was
set in commit a63c0104e496f7ba78b64be3cd299b41e8cd427f, which makes
the futex __timedwait backend suppress EINTR if it's seen when no
interrupting signal handlers have been installed.

based loosely on a patch submitted by Orivej Desh, but with
unnecessary additional changes removed.
