Bug 1551 - replace frysk.proc.TaskObserver.Syscall.updateSyscallXXX with separate enter and exit events
Summary: replace frysk.proc.TaskObserver.Syscall.updateSyscallXXX with separate enter ...
Status: RESOLVED FIXED
Alias: None
Product: frysk
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
: P1 normal
Target Milestone: ---
Assignee: Jeff Johnston
URL:
Keywords:
Depends on: 1846 1847
Blocks: 1524 1364
  Show dependency treegraph
 
Reported: 2005-10-26 15:48 UTC by Andrew Cagney
Modified: 2005-11-11 16:58 UTC (History)
2 users (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 2005-10-26 15:48:34 UTC
The interface frysk.proc.TaskObserver.Syscall defines:

        /**
         * The Task is entering a system call.  Return Action.BLOCK to
         * block the task's further execution.
         */
        Action updateSyscallEnter (Task task);
        /**
         * The task is exiting a system call.  Return Action.BLOCK to
         * block the task's further execution.
         */
        Action updateSyscallExit (Task task);
        /**
         * XXX: The task is involved in a syscall.  Enter or exit, who can say?
         */
        Action updateSyscallXXX (Task task);

but only generates the last one.  The frysk core should track and notify the
client separatly of system call entry and exit.
Comment 1 Jeff Johnston 2005-11-07 23:01:57 UTC
Changes have been checked in to provide bubbling up of the syscall event type. 
Changes are still required in the kernel to provide this information to the
frysk core.

2005-11-07  Jeff Johnston  <jjohnstn@redhat.com>

        * SyscallEventInfo.java (ENTRY, EXIT, UNKNOWN): New constants.
        * Task.java (performSyscalled): Add additional syscallType
        parameter.
        * TaskState.java (processPerformSyscalled): Ditto.
        * TestLib.java: Change Wait.Observer classes to add
        additional parameter to syscallEvent member functions.
        * LinuxHost.java: Add additional parameter to Wait.Observer
        syscallEvent member function.
        * TestSyscall2.java: Lower repetition count to 5000 so
        test doesn't fail due to time limitation.

2005-11-07  Jeff Johnston  <jjohnstn@redhat.com>

        * Wait.java (syscallEvent): Add new syscall event type parameter.
        * cni/Wait.cxx (processStatus): For a syscall event, indicate
        the event type is unknown.

Comment 2 Jeff Johnston 2005-11-11 16:58:12 UTC
Last change has been reverted and model has been switched to use state
transitioning in the task.  The use of updateSyscallXXX interface has been
removed and the updateSyscallEnter and updateSyscallExit interfaces are now
being driven by TaskState notification.  Tests involving syscall have been
modified appropriately.