summaryrefslogtreecommitdiff
path: root/libc/malloc_hooks/tests/malloc_hooks_tests.cpp
diff options
context:
space:
mode:
authorJosh Gao <jmgao@google.com>2018-10-08 17:28:07 -0700
committerJosh Gao <jmgao@google.com>2018-10-09 16:27:22 -0700
commitbaf20fc9122740ff2baa34d28001e8bdfac9568c (patch)
tree8e6f717de9cef90828010497ef80ab454c0eb4c6 /libc/malloc_hooks/tests/malloc_hooks_tests.cpp
parent773c697f815d43182adf1eb430f4899255088d6b (diff)
Block TIMER_SIGNAL in sigprocmask(SIG_SETMASK, ...).
Previously, we were zeroing out the reserved signals, when we actually wanted to have TIMER_SIGNAL always be blocked, and the other signals always be unblocked. This resulted in process termination when a SIGEV_THREAD timer callback calls sigprocmask(SIG_SETMASK, ...) with any signal mask value, and then subsequently fails to complete its callback and reach the sigtimedwait in bionic before the next timer iteration triggers. Add a how argument to filter_reserved_signals to appropriately block/unblock our reserved signals. Bug: http://b/116783733 Test: bionic-unit-tests32/64 Change-Id: Ie5339682cdeb914711cd4089cd26ee395704d0df
Diffstat (limited to 'libc/malloc_hooks/tests/malloc_hooks_tests.cpp')
0 files changed, 0 insertions, 0 deletions