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; |