Skip to content

Conversation

@jstedfast
Copy link
Member

Backport of PR #267

Fixes VSTS 1026591
SigTerm signal in Mono.Debugging.dll!Mono.Debugging.Client.DebuggerSession::get_Breakpoints+9

`slock` is used throughout DebuggerSession, however in this case we only need to guard against
multiple threads assigning an instance of BreakpointStore. Also, since BreakpointStore is thread-safe
we can remove the additional locks around it where we lock on enumeration of `breakpointStore`.

This fixes the case where one thread dispatches an OnExit (for example) which tries communicate
with the debuggee and waits on data from the socket and another thread attempts to clean up breakpoints.
We changed the locking semantics and the dispatch will no longer wait for the
current thread to release its lock when assigning the new breakpoint store
the session is created. Fix timing issue of assigning breakpoints.
@jstedfast jstedfast changed the base branch from master to d16-4 December 13, 2019 02:38
@slluis slluis merged commit 71f0a9f into d16-4 Dec 13, 2019
@slluis slluis deleted the backport-pr-267-d16-4 branch December 13, 2019 09:15
mauroa pushed a commit to mauroa/debugger-libs that referenced this pull request Sep 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants