[lldb] [Process/NetBSD] Report stopped process on SIGSTOP

Mark the process as stopped when SIGSTOP arrives.  This is necessary
for lldb-server to generate correct response to 'process interrupt',
and therefore to prevent the whole stack crashing when process
is stopped.

Thanks to Pavel Labath for the tip.

Differential Revision: https://reviews.llvm.org/D65289

llvm-svn: 367047
This commit is contained in:
Michal Gorny 2019-07-25 20:27:40 +00:00
parent aa205957ff
commit e1c159e86a
6 changed files with 1 additions and 6 deletions

View File

@ -26,7 +26,6 @@ class ExprCommandThatRestartsTestCase(TestBase):
@skipIfFreeBSD # llvm.org/pr19246: intermittent failure
@skipIfDarwin # llvm.org/pr19246: intermittent failure
@skipIfWindows # Test relies on signals, unsupported on Windows
@expectedFailureNetBSD
@expectedFlakeyAndroid(bugnumber="llvm.org/pr19246")
def test(self):
"""Test calling function that hits a signal and restarts."""

View File

@ -27,7 +27,6 @@ class ExprCommandWithTimeoutsTestCase(TestBase):
oslist=[
"windows"],
bugnumber="llvm.org/pr21765")
@expectedFailureNetBSD
def test(self):
"""Test calling std::String member function."""
self.build()

View File

@ -26,7 +26,6 @@ class SendSignalTestCase(TestBase):
oslist=['freebsd'],
bugnumber="llvm.org/pr23318: does not report running state")
@skipIfWindows # Windows does not support signals
@expectedFailureNetBSD
def test_with_run_command(self):
"""Test that lldb command 'process signal SIGUSR1' sends a signal to the inferior process."""
self.build()

View File

@ -194,7 +194,6 @@ class ThreadStateTestCase(TestBase):
oslist=["windows"],
bugnumber="llvm.org/pr24668: Breakpoints not resolved correctly")
@skipIfDarwin # llvm.org/pr15824 thread states not properly maintained and <rdar://problem/28557237>
@expectedFailureNetBSD
@no_debug_info_test
def test_process_interrupt(self):
"""Test process interrupt and continue."""

View File

@ -61,7 +61,6 @@ class TestVSCode_launch(lldbvscode_testcase.VSCodeTestCaseBase):
@skipIfWindows
@skipIfDarwin # Skip this test for now until we can figure out why tings aren't working on build bots
@expectedFailureNetBSD
@no_debug_info_test
def test_cwd(self):
'''
@ -90,7 +89,6 @@ class TestVSCode_launch(lldbvscode_testcase.VSCodeTestCaseBase):
@skipIfWindows
@skipIfDarwin # Skip this test for now until we can figure out why tings aren't working on build bots
@expectedFailureNetBSD
@no_debug_info_test
def test_debuggerRoot(self):
'''

View File

@ -195,6 +195,7 @@ void NativeProcessNetBSD::MonitorSIGSTOP(lldb::pid_t pid) {
SIGSTOP, &info.psi_siginfo);
}
}
SetState(StateType::eStateStopped, true);
}
}