<html>
<head>
<base href="https://llvm.org/bugs/" />
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW --- - Make Process::StopForDestroyOrDetach handle interrupting RunThreadPlan more robustly"
href="https://llvm.org/bugs/show_bug.cgi?id=28742">28742</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Make Process::StopForDestroyOrDetach handle interrupting RunThreadPlan more robustly
</td>
</tr>
<tr>
<th>Product</th>
<td>lldb
</td>
</tr>
<tr>
<th>Version</th>
<td>unspecified
</td>
</tr>
<tr>
<th>Hardware</th>
<td>PC
</td>
</tr>
<tr>
<th>OS</th>
<td>All
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>P
</td>
</tr>
<tr>
<th>Component</th>
<td>All Bugs
</td>
</tr>
<tr>
<th>Assignee</th>
<td>lldb-dev@lists.llvm.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>jingham@apple.com
</td>
</tr>
<tr>
<th>CC</th>
<td>llvm-bugs@lists.llvm.org
</td>
</tr>
<tr>
<th>Classification</th>
<td>Unclassified
</td>
</tr></table>
<p>
<div>
<pre>See the discussion in commit r276795. As Pavel said there:
This case is fine. The tricky part is the opposite:
- we check the private state, see that it is stopped and decide that
we have nothing to do
- meanwhile, the private state flips back to running (e.g. because it
was just temporarily stopped while it was stepping over a breakpoint)
- RunThreadPlan carries on running oblivious to the fact that someone
tried to interrupt it
- process does not stop
So the Process has to have a way to flag that RunThreadPlan should interrupt
it's work. This is a little tricky because, if you need to send a signal to
interrupt but the process stops with the signal pending, you will also need to
pull off that signal or when you detach it will go to the process and likely
kill it.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>