[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: LUTask (was Re: LuaSocket, LTN12 and coroutines: how to? (long post)) long as well...
- From: Mark Hamburg <mhamburg@...>
- Date: Sun, 30 Jan 2005 07:01:43 -0800
on 1/29/05 9:55 PM, skaller at email@example.com wrote:
> [ Described the Felix scheduler ]
Interesting. In an interactive environment where one had a thread that ran
for a while perhaps being polite enough to do non-blocking yields but not
blocking, this would have the issue that it won't revisit the event queue.
On the other hand, the dispatcher could watch a clock or wait for a signal
from a timer to decide that we should visit the event queue even if the
running queue is non-empty.
One further point to note is that if one uses multiple universes to take
advantage of multiple processors, an inter-universe call is just another
form of blocking yield.
One thing that may be necessary to do to support a Lua scheduler will be to
replace resume with logic that can look at the results received from a raw
resume call and decide whether to return them to the caller or to yield them
up another level. Maybe after I have my morning coffee...