source change for consistency
This commit is contained in:
		@ -297,7 +297,7 @@ class SemaphoreHeap(Object)
 | 
			
		||||
		| top |
 | 
			
		||||
 | 
			
		||||
		top := self.arr at: 0.
 | 
			
		||||
		self deleteAt: 0.
 | 
			
		||||
		self removeAt: 0.
 | 
			
		||||
		^top
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -314,7 +314,7 @@ class SemaphoreHeap(Object)
 | 
			
		||||
		^if (aSemaphore youngerThan: item) { self siftUp: anIndex } else { self siftDown: anIndex }.
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	method deleteAt: anIndex
 | 
			
		||||
	method removeAt: anIndex
 | 
			
		||||
	{
 | 
			
		||||
		| item xitem |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -13,6 +13,7 @@ class System(Apex)
 | 
			
		||||
	var(#class) asyncsg.
 | 
			
		||||
	var(#class) gcfin_sem.
 | 
			
		||||
	var(#class) gcfin_should_exit := false.
 | 
			
		||||
	var(#class) shr.
 | 
			
		||||
 | 
			
		||||
	pooldic Log
 | 
			
		||||
	{
 | 
			
		||||
@ -28,6 +29,16 @@ class System(Apex)
 | 
			
		||||
		FATAL := 16.
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	method(#class) _initialize
 | 
			
		||||
	{
 | 
			
		||||
		self.shr := Dictionary new.
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	method(#class) _cleanup
 | 
			
		||||
	{
 | 
			
		||||
		self.shr := nil.
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	method(#class) addAsyncSemaphore: sem
 | 
			
		||||
	{
 | 
			
		||||
		^self.asyncsg addSemaphore: sem
 | 
			
		||||
@ -55,6 +66,8 @@ class System(Apex)
 | 
			
		||||
			self error: ('Cannot find the class - ' & class_name).
 | 
			
		||||
		}.
 | 
			
		||||
 | 
			
		||||
		self _initialize.
 | 
			
		||||
 | 
			
		||||
		// start the gc finalizer process and os signal handler process
 | 
			
		||||
		//[ self __gc_finalizer ] fork.
 | 
			
		||||
		//[ self __os_sig_handler ] fork.
 | 
			
		||||
@ -70,7 +83,6 @@ class System(Apex)
 | 
			
		||||
		] 
 | 
			
		||||
		ensure: [
 | 
			
		||||
			self _setSig: 16rFF.
 | 
			
		||||
			//// System logNl: '======= END of startup ==============='.
 | 
			
		||||
		].
 | 
			
		||||
 | 
			
		||||
		^ret.
 | 
			
		||||
@ -206,6 +218,7 @@ class System(Apex)
 | 
			
		||||
			self.gcfin_sem signal. // wake the gcfin process.
 | 
			
		||||
 | 
			
		||||
			self _halting. // inform VM that it should get ready for halting.
 | 
			
		||||
			self _cleanup.
 | 
			
		||||
		].
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -224,6 +237,15 @@ class System(Apex)
 | 
			
		||||
	method(#class,#primitive) return: object to: context.
 | 
			
		||||
 | 
			
		||||
	// =======================================================================================
 | 
			
		||||
	method(#class) registerSignalHandler: block
 | 
			
		||||
	{
 | 
			
		||||
		self.shr add: block.
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	method(#class) removeSignalHandler: block
 | 
			
		||||
	{
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	method(#class) sleepForSecs: secs
 | 
			
		||||
	{
 | 
			
		||||
		// -----------------------------------------------------
 | 
			
		||||
 | 
			
		||||
@ -77,9 +77,9 @@ class MyObject(Object)
 | 
			
		||||
		].
 | 
			
		||||
 | 
			
		||||
		'--------------------------' dump.
 | 
			
		||||
		sempq deleteAt: 40.
 | 
			
		||||
		sempq deleteAt: 50.
 | 
			
		||||
		sempq deleteAt: 100.
 | 
			
		||||
		sempq removeAt: 40.
 | 
			
		||||
		sempq removeAt: 50.
 | 
			
		||||
		sempq removeAt: 100.
 | 
			
		||||
 | 
			
		||||
		a := -100.
 | 
			
		||||
		[sempq size > 0] whileTrue: [
 | 
			
		||||
 | 
			
		||||
@ -227,8 +227,8 @@ class MyObject(TestObject)
 | 
			
		||||
		].
 | 
			
		||||
 | 
			
		||||
		'--------------------------' dump.
 | 
			
		||||
		sempq deleteAt: 40.
 | 
			
		||||
		sempq deleteAt: 50.
 | 
			
		||||
		sempq removeAt: 40.
 | 
			
		||||
		sempq removeAt: 50.
 | 
			
		||||
 | 
			
		||||
		[sempq size > 0] whileTrue: [
 | 
			
		||||
			| sem |
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user