--- a/Delay.st Fri Mar 28 14:39:55 2014 +0100
+++ b/Delay.st Fri Mar 28 14:40:34 2014 +0100
@@ -309,17 +309,16 @@
Processor signal:delaySemaphore atMilliseconds:then.
Processor activeProcess setStateTo:#timeWait if:#active.
delaySemaphore wait.
- ] doWhile:[
- (dueTime notNil
+
+ dueTime notNil
and:[isInterrupted not
- and:[(currentDelta := dueTime - OperatingSystem getMicrosecondTime) > 0]]
- ) ifTrue:[
+ and:[(currentDelta := dueTime - OperatingSystem getMicrosecondTime) > 0
+ and:[
currentDelta := (currentDelta // 1000) min:16r0fffffff.
now := OperatingSystem getMillisecondTime.
then := OperatingSystem millisecondTimeAdd:now and:currentDelta.
- true.
- ] ifFalse:[ false ]
- ].
+ true.]]]
+ ] whileTrue.
] ensure:[
wasBlocked ifFalse:[OperatingSystem unblockInterrupts].
]
@@ -359,10 +358,10 @@
!Delay class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Delay.st,v 1.48 2013-08-16 09:38:32 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Delay.st,v 1.49 2014-03-28 13:40:34 stefan Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/Delay.st,v 1.48 2013-08-16 09:38:32 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Delay.st,v 1.49 2014-03-28 13:40:34 stefan Exp $'
! !