Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKen Ryall2007-08-21 01:42:02 +0000
committerKen Ryall2007-08-21 01:42:02 +0000
commit8f61e02fd9592d9a3d593b4bfa1076418a535bea (patch)
tree295035b378a504514fc35346c274c53a6e3db3c4 /debug/org.eclipse.cdt.debug.core
parente2c0f62d7dfac703cd0f144f0360380a0000b891 (diff)
downloadorg.eclipse.cdt-8f61e02fd9592d9a3d593b4bfa1076418a535bea.tar.gz
org.eclipse.cdt-8f61e02fd9592d9a3d593b4bfa1076418a535bea.tar.xz
org.eclipse.cdt-8f61e02fd9592d9a3d593b4bfa1076418a535bea.zip
Fix deadlock when clearing all breakpoints.
Diffstat (limited to 'debug/org.eclipse.cdt.debug.core')
-rw-r--r--debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CBreakpointManager.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CBreakpointManager.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CBreakpointManager.java
index 54803418c55..872c1a9cd0f 100644
--- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CBreakpointManager.java
+++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/CBreakpointManager.java
@@ -444,9 +444,11 @@ public class CBreakpointManager implements IBreakpointsListener, IBreakpointMana
ICBreakpoint breakpoint = null;
synchronized( getBreakpointMap() ) {
breakpoint = getBreakpointMap().getCBreakpoint( cdiBreakpoint );
- if ( breakpoint == null ) {
- breakpoint = createLocationBreakpoint( cdiBreakpoint );
- }
+ }
+ if ( breakpoint == null ) {
+ breakpoint = createLocationBreakpoint( cdiBreakpoint );
+ }
+ synchronized( getBreakpointMap() ) {
if ( breakpoint != null )
getBreakpointMap().put( breakpoint, cdiBreakpoint );
}

Back to the top