timers: fix issue with restart-timer after timer went off.
parent
91e55dc02a
commit
a27f560475
|
@ -64,3 +64,12 @@ threads tools.test tools.time ;
|
|||
700 milliseconds sleep dup restart-timer
|
||||
700 milliseconds sleep stop-timer 500 milliseconds sleep
|
||||
] unit-test
|
||||
|
||||
{ { 2 } } [
|
||||
{ 0 }
|
||||
dup '[ 0 _ [ 1 + ] change-nth ] 300 milliseconds f <timer>
|
||||
dup restart-timer
|
||||
700 milliseconds sleep
|
||||
dup restart-timer drop
|
||||
700 milliseconds sleep
|
||||
] unit-test
|
||||
|
|
|
@ -94,11 +94,10 @@ PRIVATE>
|
|||
] if ;
|
||||
|
||||
: restart-timer ( timer -- )
|
||||
t >>restart?
|
||||
dup quotation-running?>> [
|
||||
drop
|
||||
t >>restart? drop
|
||||
] [
|
||||
dup thread>> [ nip interrupt ] [ start-timer ] if*
|
||||
dup thread>> [ interrupt ] when* start-timer
|
||||
] if ;
|
||||
|
||||
<PRIVATE
|
||||
|
|
Loading…
Reference in New Issue