Bug 5254 - stepping engine, fhpd, and breakpoints are not in sync
Summary: stepping engine, fhpd, and breakpoints are not in sync
Status: RESOLVED FIXED
Alias: None
Product: frysk
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
: P2 normal
Target Milestone: ---
Assignee: Teresa Thomas
URL:
Keywords:
Depends on:
Blocks: 5251 5261 5292
  Show dependency treegraph
 
Reported: 2007-11-02 15:52 UTC by Andrew Cagney
Modified: 2008-06-06 18:52 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Cagney 2007-11-02 15:52:35 UTC
This:

(fhpd) go
(fhpd) Breakpoint 0 main

The code like:

 actionpoint = bpManager.addFunctionBreakpoint(breakpt, die);
 actionpoint.addObserver(new CLIBreakpointObserver() {
    public void updateHit(final SourceBreakpoint bpt,
        Task task, long address) {
          // See comment in case above.
          Manager.eventLoop.add(new Event() {
             public void execute() {
                FunctionBreakpoint fbpt
                         = (FunctionBreakpoint) bpt;
                outWriter.print("Breakpoint ");
                outWriter.print(fbpt.getId());
                outWriter.print(" ");
                outWriter.println(fbpt.getName());

in BreakpointCommand, it should instead notify the stepping engine that a
breakpoint has occured so that the stepping engine can stop it (and possibly
other) threads; and then notify the cli that things have stopped due to a
breakpoint.
Comment 1 Andrew Cagney 2008-05-23 19:16:53 UTC
-> tthomas@redhat.com
Comment 2 Teresa Thomas 2008-06-06 18:52:54 UTC
    Synchronize fhpd, stepping engine and breakpoints.
    
    frysk-core/frysk/hpd/ChangeLog:
    2008-06-06  Teresa Thomas  <tthomas@redhat.com>
    
    	* BreakpointCommand.java (*.updateHit):
    	Use SteppingEngine.updateActionpointDoneEvent.
    	* TestBreakpoints.java (testGoAfterSimultaneousBreaks): New.   
    
    frysk-core/frysk/stepping/ChangeLog:
    2008-06-06  Teresa Thomas  <tthomas@redhat.com>
    
    	* SteppingEngine.java (updateActionpointDoneEvent): New.
    	(blockedByActionPoint): Use updateActionpointDoneEvent.
    	(blockedByActionPoint(Task,TaskObserver)): Test if messages set empty.