ProcSched.st
changeset 3967 5e0053fdbf52
parent 3917 fd02c3beb3d1
child 3969 0f30268b10c3
equal deleted inserted replaced
3966:1013f1476687 3967:5e0053fdbf52
   794 
   794 
   795     |nPrios "{ Class: SmallInteger }"
   795     |nPrios "{ Class: SmallInteger }"
   796      p l|
   796      p l|
   797 
   797 
   798     KnownProcesses isNil ifTrue:[
   798     KnownProcesses isNil ifTrue:[
   799 	KnownProcesses := WeakArray new:30.
   799         KnownProcesses := WeakArray new:30.
   800 	KnownProcesses addDependent:self class.
   800         KnownProcesses addDependent:self class.
   801 	KnownProcessIds := OrderedCollection new.
   801         KnownProcessIds := OrderedCollection new.
   802     ].
   802     ].
   803 
   803 
   804     "
   804     "
   805      create a collection with process lists; accessed using the priority as key
   805      create a collection with process lists; accessed using the priority as key
   806     "
   806     "
   807     nPrios := SchedulingPriority.
   807     nPrios := SchedulingPriority.
   808     quiescentProcessLists := Array new:nPrios.
   808     quiescentProcessLists := Array new:nPrios.
   809 "/    1 to:nPrios do:[:pri |
   809 
   810 "/        quiescentProcessLists at:pri put:(LinkedList new)
   810     readFdArray := Array new:5.
   811 "/    ].
   811     readCheckArray := Array new:5.
   812 
   812     readSemaphoreArray := Array new:5.
   813     readFdArray := Array with:nil.
   813     writeFdArray := Array new:3.
   814     readCheckArray := Array with:nil.
   814     writeSemaphoreArray := Array new:3.
   815     readSemaphoreArray := Array with:nil.
   815     timeoutArray := Array new:5.
   816     writeFdArray := Array with:nil.
   816     timeoutSemaphoreArray := Array new:5.
   817     writeSemaphoreArray := Array with:nil.
   817     timeoutActionArray := Array new:5.
   818     timeoutArray := Array with:nil.
   818     timeoutProcessArray := Array new:5.
   819     timeoutSemaphoreArray := Array with:nil.
   819 
   820     timeoutActionArray := Array with:nil.
       
   821     timeoutProcessArray := Array with:nil.
       
   822     anyTimeouts := false.
   820     anyTimeouts := false.
   823     dispatching := false.
   821     dispatching := false.
   824     exitWhenNoMoreUserProcesses := false. "/ mhmh - how about true ?
   822     exitWhenNoMoreUserProcesses := false. "/ mhmh - how about true ?
   825     useIOInterrupts := OperatingSystem supportsIOInterrupts.
   823     useIOInterrupts := OperatingSystem supportsIOInterrupts.
   826     gotIOInterrupt := false.
   824     gotIOInterrupt := false.
   850     "
   848     "
   851     ObjectMemory ioInterruptHandler:self.
   849     ObjectMemory ioInterruptHandler:self.
   852     ObjectMemory timerInterruptHandler:self.
   850     ObjectMemory timerInterruptHandler:self.
   853     ObjectMemory childSignalInterruptHandler:self.
   851     ObjectMemory childSignalInterruptHandler:self.
   854 
   852 
   855     "Modified: 29.7.1996 / 12:10:59 / cg"
   853     "Modified: / 7.1.1997 / 16:48:26 / stefan"
   856     "Modified: 7.1.1997 / 16:48:26 / stefan"
   854     "Modified: / 4.2.1999 / 13:08:39 / cg"
   857 !
   855 !
   858 
   856 
   859 reinitialize
   857 reinitialize
   860     "all previous processes (except those marked as restartable) are made dead 
   858     "all previous processes (except those marked as restartable) are made dead 
   861      - each object should reinstall its process(s) upon restart;
   859      - each object should reinstall its process(s) upon restart;
  2992 ! !
  2990 ! !
  2993 
  2991 
  2994 !ProcessorScheduler class methodsFor:'documentation'!
  2992 !ProcessorScheduler class methodsFor:'documentation'!
  2995 
  2993 
  2996 version
  2994 version
  2997     ^ '$Header: /cvs/stx/stx/libbasic/Attic/ProcSched.st,v 1.169 1998-11-09 20:27:11 cg Exp $'
  2995     ^ '$Header: /cvs/stx/stx/libbasic/Attic/ProcSched.st,v 1.170 1999-02-04 12:08:47 cg Exp $'
  2998 ! !
  2996 ! !
  2999 ProcessorScheduler initialize!
  2997 ProcessorScheduler initialize!