Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 326725

Summary: EDC trace uses internal type and is thread-unsafe
Product: [Tools] CDT Reporter: John Cortell <john.cortell>
Component: cdt-debug-edcAssignee: Ken Ryall <ken.ryall>
Status: RESOLVED FIXED QA Contact: Ken Ryall <ken.ryall>
Severity: normal    
Priority: P3 Flags: ken.ryall: review+
Version: 8.0   
Target Milestone: 8.0   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
Fix john.cortell: iplog-

Description John Cortell CLA 2010-09-30 18:35:27 EDT
EDC directly instantiates DebugTrace rather than obtain an instance from the OSGi DebugOptions service. It does this by using FrameworkDebugOptions, which is an internal platform class (despite its package name not having '.internal.' in it).

Also, EDCDebugger.getTrace() is not thread unsafe. Multiple DebugTrace objects can be created if the method is called simultaneously by multiple threads.
Comment 1 John Cortell CLA 2010-09-30 18:36:01 EDT
Created attachment 180004 [details]
Fix
Comment 2 John Cortell CLA 2010-09-30 18:37:25 EDT
Committed to HEAD. Ken, please review.
Comment 3 CDT Genie CLA 2010-09-30 19:23:01 EDT
*** cdt cvs genie on behalf of jcortell ***
Bug 326725: EDC trace uses internal type and is thread-unsafe

[*] EDCDebugger.java 1.4 http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.cdt/edc/org.eclipse.cdt.debug.edc/src/org/eclipse/cdt/debug/edc/internal/EDCDebugger.java?root=Tools_Project&r1=1.3&r2=1.4
Comment 4 Ken Ryall CLA 2010-10-01 08:18:00 EDT
Looks good.