Which plugins for OSProcess?

David T. Lewis lewis at mail.msen.com
Wed Jan 31 03:18:12 UTC 2007


On Tue, Jan 30, 2007 at 10:57:17AM -0800, John M McIntosh wrote:
> 
> On Jan 30, 2007, at 4:27 AM, David T. Lewis wrote:
> 
> >That said, that actual lockup appears to be happening in AioPlugin,
> >which invokes the aio functions in the VM. The aio functions depend
> >on select(), and it looks like this is where you are hanging up.
> >I certainly can't think of anything in the 3.9 image (versus 3.8)
> >that could be triggering it, so it seems more likely to be something
> >in the VM, either the AIO plugin or the underlying aio functions.
> 
> I noted in the 3.9 unix source code has HAVE_NANOSLEEP defined and  
> when the VM sleeps we
> call nanosleep() then aioPoll twice with the value of zero. But then   
> aioPoll() returns early since the value is
> zero and it never invokes select().
> 
> Perhaps some unix folks can comment if there are any interesting side  
> effects of this behaviour, such as never calling select()

It looks OK to me, aioPoll() only bypasses the select() if there are no
file descriptors being watched.

  /* get out early if there is no pending i/o and no need to relinquish cpu */
  if ((maxFd == 0) && (microSeconds == 0))
    return 0;

> 
>  I'll note issues with MC servers based on 3.9 where they hang, and  
> a swirl of a mouse on a VNC display of their X-11 display restores  
> functionality.

hmmm....

Dave




More information about the Squeak-dev mailing list