[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[dsdp-tcf-dev] [Bug 267674] New: [tcf][api] RunControl containerSuspend event
|
https://bugs.eclipse.org/bugs/show_bug.cgi?id=267674
Product/Component: Target Management / TCF
Summary: [tcf][api] RunControl containerSuspend event
Product: Target Management
Version: 3.0
Platform: All
OS/Version: All
Status: NEW
Severity: enhancement
Priority: P3
Component: TCF
AssignedTo: dsdp.tm.tcf-inbox@xxxxxxxxxxx
ReportedBy: sidharth@xxxxxxxxxxxxx
QAContact: martin.oberhuber@xxxxxxxxxxxxx
CC: eugene.tarassov@xxxxxxxxxxxxx,
felix.burton@xxxxxxxxxxxxx, sidharth@xxxxxxxxxxxxx
The RunControl containerSuspended event sends a PC value.
E RunControl containerSuspended <string: context ID> <int: PC>
<string: reason> <state data> <array of context IDs>
In what scenario would a container would have a PC value?
Is this addressing the case where the event was being sent for one of the
contexts (such as a thread or a core) in the container that caused the
suspension, and the context ID and PC are pertaining to that context?
I think that the specification should allow a null to be sent for the PC for
this event.
E RunControl containerSuspended <string: context ID> <PC>
<string: reason> <state data> <array of context IDs>
<PC>
⇒ null
⇒ <int: PC value>
Unfortunately this specification change would break backwards compatibility.
Incidentally, the Java implementation already uses a String for PC value so as
to allow null in a few different methods pasted below!
(Any particular reason a String was preferred over a BigInteger?)
void doneGetState(IToken token, Exception error, boolean suspended, String pc,
String reason, Map<String,Object> params);
/**
* Called when a thread is suspended.
* @param context - ID of a context that was suspended.
* @param pc - program counter of the context, can be null.
* @param reason - human readable description of suspend reason.
* @param params - additional, target specific data about suspended context.
*/
void contextSuspended(String context, String pc,
String reason, Map<String,Object> params);
/**
* Called when target simultaneously suspends multiple threads in a container
* (process, core, etc.).
*
* @param context - ID of a context responsible for the event. It can be
container ID or
* any one of container children, for example, it can be thread that hit
"suspend all" breakpoint.
* Client expected to move focus (selection) to this context.
* @param pc - program counter of the context.
* @param reason - human readable description of suspend reason.
* @param params - additional target specific data about suspended context.
* @param suspended_ids - full list of all contexts that were suspended.
*/
void containerSuspended(String context, String pc,
String reason, Map<String,Object> params, String[]
suspended_ids);
---------
Legal Message: I, Sidharth Kodikal, declare that I developed attached code from
scratch, without referencing any 3rd party materials except material licensed
under the EPL. {I am authorized by my employer to make this contribution under
the EPL.}
--
Configure bugmail: https://bugs.eclipse.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.