Adam Yi
436a604b7d
posix: Fix system blocks SIGCHLD erroneously [BZ #30163 ]
...
Fix bug that SIGCHLD is erroneously blocked forever in the following
scenario:
1. Thread A calls system but hasn't returned yet
2. Thread B calls another system but returns
SIGCHLD would be blocked forever in thread B after its system() returns,
even after the system() in thread A returns.
Although POSIX does not require, glibc system implementation aims to be
thread and cancellation safe. This bug was introduced in
5fb7fc96350575c9adb1316833e48ca11553be49 when we moved reverting signal
mask to happen when the last concurrently running system returns,
despite that signal mask is per thread. This commit reverts this logic
and adds a test.
Signed-off-by: Adam Yi <ayi@janestreet.com>
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
2023-03-07 09:54:50 -03:00
..
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2021-10-21 11:23:53 -03:00
2023-01-06 21:14:39 +00:00
2023-03-07 09:54:50 -03:00
2023-03-07 09:54:50 -03:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2019-07-10 14:51:18 -04:00
2019-07-10 14:51:18 -04:00
2023-03-07 09:54:50 -03:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2019-05-09 14:33:53 -03:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-03-07 09:54:50 -03:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-03-02 13:01:32 +01:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-03-02 13:01:32 +01:00
2023-01-06 21:14:39 +00:00
2023-03-02 13:01:32 +01:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-03-02 13:01:32 +01:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-03-07 09:54:50 -03:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-03-02 19:10:37 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-03-02 19:10:37 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00