diff options
author | Pavel Labath <labath@google.com> | 2015-08-19 13:47:57 +0000 |
---|---|---|
committer | Pavel Labath <labath@google.com> | 2015-08-19 13:47:57 +0000 |
commit | 78856474fbd3025f3ff4727c575f8794d2aa1515 (patch) | |
tree | be2ffb59129e9ca2fb6d35ff3a2b93e2fd24b231 /llvm/lib/Target/Sparc | |
parent | bc224b8049ef9a0e25806095d08d38264b0d838c (diff) | |
download | bcm5719-llvm-78856474fbd3025f3ff4727c575f8794d2aa1515.tar.gz bcm5719-llvm-78856474fbd3025f3ff4727c575f8794d2aa1515.zip |
On Linux, clear the signal mask of the launched inferior
Summary:
Due to fork()/execve(), the launched inferior inherits the signal mask of its parent (lldb-server). But because lldb-server modifies its signal mask (It blocks SIGCHLD, for example), the inferior starts with some signals being initially blocked.
One consequence is that TestCallThatRestarts.ExprCommandThatRestartsTestCase (test/expression_command/call-restarts) fails because sigchld_handler() in lotta-signals.c is not called, due to the SIGCHLD signal being blocked.
To prevent the signal masking done by lldb-server from affecting the created inferior, the signal mask of the inferior is now cleared before the execve().
Patch by: Yacine Belkadi
Reviewers: ovyalov, labath
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D12138
llvm-svn: 245436
Diffstat (limited to 'llvm/lib/Target/Sparc')
0 files changed, 0 insertions, 0 deletions