core-foundation.run-loop: remove unnecessary yields. This fixes a thread starvation issue with game.input

db4
Slava Pestov 2010-03-15 19:25:57 +13:00
parent e30d18aefc
commit f0a9912ae9
1 changed files with 5 additions and 5 deletions

View File

@ -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>