Changeset 5 for trunk/UKernel.pas


Ignore:
Timestamp:
Nov 23, 2014, 9:04:03 AM (9 years ago)
Author:
chronos
Message:

#1

  • Fixed: Scheduler should stop all tasks if it is stopped.
Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

    • Property svn:ignore
      •  

        old new  
        22ChronOS.lps
        33lib
         4heaptrclog.trc
  • trunk/UKernel.pas

    r4 r5  
    99
    1010type
    11   TBasicEvent = procedure of object;
     11  TTask = class;
     12
     13  TTaskEvent = procedure(Task: TTask) of object;
    1214
    1315  TTaskState = (tsStopped, tsRunning, tsSuspended);
     
    1820    Name: string;
    1921    State: TTaskState;
    20     EntryPoint: TBasicEvent;
     22    Terminated: Boolean;
     23    EntryPoint: TTaskEvent;
    2124    constructor Create; virtual;
    2225  end;
     
    3235    procedure Start; virtual;
    3336    procedure Stop; virtual;
    34     function AddTask(Name: string; EntryPoint: TBasicEvent): TTask; virtual;
     37    function AddTask(Name: string; EntryPoint: TTaskEvent): TTask; virtual;
    3538    constructor Create; virtual;
    3639    destructor Destroy; override;
     
    3942  TSchedulerClass = class of TScheduler;
    4043
     44  { TDrive }
     45
    4146  TDrive = class(TNamedObject)
    4247    FileSystem: TFileSystem;
     48    constructor Create;
     49    destructor Destroy; override;
    4350  end;
    4451
     
    7279  UApp;
    7380
     81{ TDrive }
     82
     83constructor TDrive.Create;
     84begin
     85
     86end;
     87
     88destructor TDrive.Destroy;
     89begin
     90  FileSystem.Free;
     91  inherited Destroy;
     92end;
     93
    7494{ TDevice }
    7595
     
    103123end;
    104124
    105 function TScheduler.AddTask(Name: string; EntryPoint: TBasicEvent): TTask;
     125function TScheduler.AddTask(Name: string; EntryPoint: TTaskEvent): TTask;
    106126var
    107127  NewTask: TTask;
Note: See TracChangeset for help on using the changeset viewer.