revised io semaphore handling routines
This commit is contained in:
		| @ -58,9 +58,9 @@ class Semaphore(Object) | ||||
|  | ||||
| 	var fireTimeSec   :=   0, | ||||
| 	    fireTimeNsec  :=   0, | ||||
| 	    ioIndex       :=  -1, | ||||
| 	    ioIndex       := nil, | ||||
| 	    ioHandle      := nil, | ||||
| 	    ioMask        := nil. | ||||
| 	    ioType        := nil. | ||||
|  | ||||
| 	var(#get,#set) signalAction := nil. | ||||
|  | ||||
|  | ||||
| @ -104,7 +104,6 @@ class System(Apex) | ||||
|  | ||||
| 	method(#class,#primitive) signal: semaphore afterSecs: secs. | ||||
| 	method(#class,#primitive) signal: semaphore afterSecs: secs nanosecs: nanosecs. | ||||
| 	method(#class,#primitive) signal: semaphore onInOutput: file. | ||||
| 	method(#class,#primitive) signal: semaphore onInput: file. | ||||
| 	method(#class,#primitive) signal: semaphore onOutput: file. | ||||
| 	method(#class,#primitive) signalOnGCFin: semaphore. | ||||
|  | ||||
| @ -46,8 +46,10 @@ class MyObject(Object) | ||||
| 		[ sg wait. ] fork. | ||||
| 		[ sg wait. ] fork. | ||||
|  | ||||
| ##System sleepForSecs: 1. | ||||
| 		sg wait. | ||||
| sg removeSemaphore: s1. | ||||
| 		'********** END OF TESTER *************' dump. | ||||
| 	} | ||||
|  | ||||
| 	method(#class) main | ||||
| @ -66,6 +68,8 @@ sg removeSemaphore: s1. | ||||
| 			| tb | | ||||
| 			tb := tc at: idx. | ||||
| 			System log(System.Log.INFO, idx asString, (if (tb value) { ' PASS' } else { ' FAIL' }), S'\n'). | ||||
| 		] | ||||
| 		]. | ||||
| 		 | ||||
| 		'********** END OF MAIN PROGRAM *************' dump. | ||||
| 	} | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user