Interpreter change
John M McIntosh
johnmci at smalltalkconsulting.com
Mon Apr 17 22:38:01 UTC 2006
Ahh?
so if next wakeup tick is less than 16ms then call aioPoll(0) then
nanosleep for upto 16ms ish then call aioPoll(0) mmm I guess that
services any interrupt that woke things up.
and if greater than 16ms you end up sleeping in select() via
callling aioPoll(waitfor).
mind I didn't look to see what handleEvents() does... Perhaps you
never sleep?
Any chance you could fold the nanosleep back into the aioPoll() logic
instead of making it a special case outside of select logic in aioPoll()
On 17-Apr-06, at 3:21 PM, Ian Piumarta wrote:
> On Apr 17, 2006, at 3:08 PM, John M McIntosh wrote:
>
>> So is aioPoll() ever called with a non-zero value?
>
> Yes. The line after the code you quoted is
>
> dpy->ioRelinquishProcessorForMicroseconds(ms*1000);
>
> which defers to the active display driver. When the display is X11
> (for example), the above calls
>
> static sqInt display_ioRelinquishProcessorForMicroseconds(sqInt
> microSeconds)
> {
> aioPoll(handleEvents() ? 0 : microSeconds);
> return 0;
> }
>
> in sqUnixX11.c.
>
> Cheers,
> Ian
>
--
========================================================================
===
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
========================================================================
===
More information about the Vm-dev
mailing list