core-foundation.run-loop: remove unnecessary yields. This fixes a thread starvation issue with game.input
parent
e30d18aefc
commit
f0a9912ae9
|
@ -106,11 +106,11 @@ TUPLE: run-loop fds sources timers ;
|
||||||
nano-count - 1,000 /f system-micros + ;
|
nano-count - 1,000 /f system-micros + ;
|
||||||
|
|
||||||
: reset-timer ( timer -- )
|
: reset-timer ( timer -- )
|
||||||
yield {
|
{
|
||||||
{ [ run-queue deque-empty? not ] [ yield system-micros (reset-timer) ] }
|
{ [ run-queue deque-empty? not ] [ system-micros ] }
|
||||||
{ [ sleep-queue heap-empty? ] [ system-micros 1,000,000 + (reset-timer) ] }
|
{ [ sleep-queue heap-empty? not ] [ sleep-queue heap-peek nip nano-count>micros ] }
|
||||||
[ sleep-queue heap-peek nip nano-count>micros (reset-timer) ]
|
[ system-micros 1,000,000 + ]
|
||||||
} cond ;
|
} cond (reset-timer) ;
|
||||||
|
|
||||||
PRIVATE>
|
PRIVATE>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue