[Vm-dev] Odd image lock-up on Unix
John M McIntosh
johnmci at smalltalkconsulting.com
Tue Apr 3 04:36:29 UTC 2007
well no, microSeconds shouldn't be -1075955024
I'll note in aioPoll we have
now= ioMSecs();
microSeconds -= (now - ms) * 1000;
if (microSeconds <= 0)
return 0;
maybe the aioPoll is inlined into the aioSleep ?
Did you look at the assembler?
On Apr 2, 2007, at 8:15 PM, Andreas Raab wrote:
> What I'm much more curious about is this:
>
> #2 0x0806fc03 in aioSleep (microSeconds=-1075955024) at /home/
> araab/QwaqVM/platforms/unix/vm/aio.c:273
> #3 0x00b34001 in display_ioRelinquishProcessorForMicroseconds
> (microSeconds=1000)
> at /home/araab/QwaqVM/platforms/unix/vm-display-X11/sqUnixX11.c:
> 2304
>
> How can a call to display_ioRelinquishProcessorForMicroseconds
> (1000) end up to be a call to aioSleep(-1075955024) given that it
> is implemented like here:
>
> static sqInt display_ioRelinquishProcessorForMicroseconds(sqInt
> microSeconds)
> {
> aioSleep(handleEvents() ? 0 : microSeconds);
> return 0;
> }
>
> The only difference I see is that the argument is declared as sqInt
> but that aioSleep takes an int - but I wouldn't expect that to
> cause problems. Unless it's been declared even differently from
> that, but in this case I would expect every call to go wrong.
>
> Any theories to offer anyone? (other than cosmic rays)
>
> Cheers,
> - Andreas
--
========================================================================
===
John M. McIntosh <johnmci at smalltalkconsulting.com>
Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
========================================================================
===
More information about the Vm-dev
mailing list