Bug 1588

Summary: adding observer to the main task causes an attach
Product: frysk Reporter: Andrew Cagney <cagney>
Component: generalAssignee: Andrew Cagney <cagney>
Status: RESOLVED FIXED    
Severity: normal    
Priority: P1    
Version: unspecified   
Target Milestone: ---   
Host: Target:
Build: Last reconfirmed:
Bug Depends on:    
Bug Blocks: 1553    

Description Andrew Cagney 2005-10-28 19:52:01 UTC
check that adding an observer to the main task of a single tasked process causes
it to attach; removing the observer causes it to detach.
Comment 1 Andrew Cagney 2005-11-03 01:57:55 UTC
Index: frysk-sys/frysk/sys/proc/ChangeLog
2005-11-02  Andrew Cagney  <cagney@redhat.com>

        * cni/slurp.hxx (scanJint, scanJlong): Declare.
        * cni/slurp.cxx (scanJint, scanJlong): New.
        * cni/Stat.cxx (scanJint, scanJlong): Delete.
        (refresh): Make p const.
Comment 2 Andrew Cagney 2005-11-03 16:54:57 UTC
Index: frysk-core/frysk/proc/ChangeLog
2005-11-03  Andrew Cagney  <cagney@redhat.com>

        * Proc.java: Reduce constructors to just one.
        * Task.java: Reduce constructors to just one.
        * LinuxTask.java: Update.
        * LinuxProc.java: Update.
Comment 3 Andrew Cagney 2005-11-03 17:18:05 UTC
Index: frysk-core/frysk/proc/ChangeLog
2005-11-03  Andrew Cagney  <cagney@redhat.com>

        * Proc.java (sendAttach(boolean)): Delete.
        * LinuxProc.java (sendAttach(boolean)): Ditto.
Comment 4 Andrew Cagney 2005-11-03 17:31:50 UTC
Index: frysk-core/frysk/proc/ChangeLog
2005-11-03  Andrew Cagney  <cagney@redhat.com>

        * Proc.java (Proc(Task,ProcId): New constructor.
        * LinuxProc.java (Proc(Task,ProcId): Ditto.
        * Task.java (Task(Task,TaskId)): New constructor.
        * LinuxTask.java (Task(Task,TaskId)): Ditto.
        * LinuxHost.java: Use new LinuxProc and LinuxTask constructors.
Comment 5 Andrew Cagney 2005-11-06 19:50:48 UTC
Index: frysk/proc/ChangeLog
2005-11-06  Andrew Cagney  <cagney@redhat.com>

        * TaskState.java: Delete .processRequestAddObserver, and
        .processRequestDeleteObserver.
        * Task.java: Re-implement .requestAddObserver and
        .requestDeleteObserver to pass the request, as an Observation, to
        the Task's Proc.
        * ProcState.java: Add .processPerformAddObservation.
        * Proc.java: Add .observations, .performAddObservation, and
        .performDeleteObservation.
        * Observation.java: New.
Comment 6 Andrew Cagney 2005-11-06 19:51:45 UTC
Index: frysk-core/frysk/proc/ChangeLog
2005-11-06  Andrew Cagney  <cagney@redhat.com>

        * TaskState.java: Add state "attached".
        * ProcState.java: When unattached, and RequestAddObserver
        transition to attached state.  Delay enabling Observations until
        after the attach has completed.
        * TestTaskAttachedObserver.java: New.
Comment 7 Andrew Cagney 2005-11-06 20:56:17 UTC
Index: frysk-core/frysk/proc/ChangeLog
2005-11-06  Andrew Cagney  <cagney@redhat.com>

        * TestTaskAttachedObserver.java: Replace
        .testAddObserverToOneMainDetachedTask with
        testAttachDetachMainTask.
        * Observation.java: Add .delete.
        * ProcState.java: In "running" state, handle
        .processPerformDeleteObservation.
        * Observable.java: Notify when an observer is deleted.