glibc/sysdeps
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
5fb7fc9635 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
..
aarch64 aarch64: update libm test ulps 2023-02-24 10:55:38 +00:00
alpha alpha: Remove strncmp optimization 2023-03-02 16:41:43 -03:00
arc ARC:fpu: add extra capability check before use of sqrt and fma builtins 2023-02-17 16:17:58 -03:00
arm arm: Remove __builtin_arm_uqsub8 usage on string-fza.h 2023-03-02 16:41:43 -03:00
csky C-SKY: Strip hard float abi from hard float feature. 2023-02-07 16:34:24 +08:00
generic elf: Restore ldconfig libc6 implicit soname logic [BZ #30125] 2023-02-20 09:32:46 -03:00
gnu Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
hppa hppa: Add string-fza.h, string-fzc.h, and string-fzi.h 2023-02-06 16:19:35 -03:00
htl htl: Remove ./sysdeps/htl/bits/types/struct___pthread_mutex.h 2023-02-12 17:28:32 +01:00
hurd Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
i386 htl: Generalize i386 pt-machdep.h to x86 2023-02-12 16:33:39 +01:00
ia64 ia64: Regenerate ulps 2023-01-24 11:21:38 -05:00
ieee754 C2x scanf binary constant handling 2023-03-02 19:10:37 +00:00
loongarch LoongArch: Update libm-test-ulps. 2023-03-02 11:17:15 +08:00
m68k string: Remove string_private.h 2023-02-17 15:56:54 -03:00
mach C2x scanf binary constant handling 2023-03-02 19:10:37 +00:00
microblaze Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
mips Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
nios2 Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
nptl Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
or1k Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
posix posix: Fix system blocks SIGCHLD erroneously [BZ #30163] 2023-03-07 09:54:50 -03:00
powerpc powerpc: Remove powerpc64 strncmp variants 2023-03-02 16:41:43 -03:00
pthread Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
riscv riscv: Add string-fza.h and string-fzi.h 2023-02-06 16:19:35 -03:00
s390 S390: Fix _FPU_SETCW/GETCW when compiling with Clang [BZ #30130] 2023-02-28 14:01:28 +01:00
sh sh: Add string-fzb.h 2023-02-06 16:19:35 -03:00
sparc sparc (64bit): Regenerate ulps 2023-01-24 11:21:50 -05:00
unix Update kernel version to 6.2 in header constant tests 2023-03-06 15:13:22 +00:00
wordsize-32 Update copyright dates with scripts/update-copyrights 2023-01-06 21:14:39 +00:00
wordsize-64 C2x strtol binary constant handling 2023-02-16 23:02:40 +00:00
x86 x86-64: Add glibc.cpu.prefer_map_32bit_exec [BZ #28656] 2023-02-22 18:28:37 -08:00
x86_64 htl: Add pthreadtypes-arch.h for x86_64 2023-02-27 23:30:15 +01:00