help-smalltalk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Help-smalltalk] [bug] async signal queue can miss events


From: Holger Hans Peter Freyther
Subject: Re: [Help-smalltalk] [bug] async signal queue can miss events
Date: Wed, 29 Aug 2012 21:49:58 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

On Wed, Aug 29, 2012 at 01:06:30PM +0200, Paolo Bonzini wrote:
> Il 28/08/2012 23:10, Holger Hans Peter Freyther ha scritto:
> > It has been some time bit SIGIO/fasync is just edge triggered? isn't it?
> 
> Yes.  Does this fix it?

It does fix it. Without the patch it will still hang, with the patch
I had thousands of connects without a hang.

So the patch is doing:
        1.) Enable ASYNC handling
        2.) Poll to check if there is already data..
        3.) Possible register the 'fd'

What can happen:
SIGIO between: set_file_interrupt/gst_sync_file_polling. In that case
we have an extra wakeup and will find no fd as the gst_sync_file_polling
will already return 1.

SIGIO after the gst_sync_file_polling and the registration. The checking
for fds will occur after this code has registered the fd and nothing bad
will happen.

it sounds all good to me. The potential cost is one extra poll for some
cases.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]