Re: [g-a-devel]Re: Gail Range strangeness ...
- From: Michael Meeks <michael ximian com>
- To: Bill Haneman <bill haneman sun com>
- Cc: accessibility mailing list <gnome-accessibility-devel gnome org>
- Subject: Re: [g-a-devel]Re: Gail Range strangeness ...
- Date: 07 Jan 2002 13:42:33 +0000
Hi Bill,
On Mon, 2002-01-07 at 12:51, Bill Haneman wrote:
> mmm, the notifications are oneways already, is that not good enough?
The ref/unrefs are not though - that is where the reenterancy happens -
on every source we ref / unref a fair bit - we could try and reduce this
I suppose by special casing the first notify - hmm. perhaps we should
add that to the TODO as well; be more cunning with ref/unrefs especially
where we effectively do:
ref ()
notify_one_listener ()
unref ();
it seems somewhat daft.
> I am frankly surprised that we should see much reentrancy here, do you
> understand the triggering conditions yet? I would only expect
> reentrancy if an event notification caused a subsequent change in the
> listener lists, which I think is quite uncommon... perhaps I missing
> some really common case here?
Well - there is that - it's not particularly harmful; but there are
some super deep stack frames there. Run the registryd in the debugger
and run test-simple, put a break point in Bonobo_Unknown_unref and see
what I mean :-) ~ 200+ stack frames later ...
> I'm not convinced that we should put this in cspi since cspi will never
> be called from multiple threads in the same process space, nor will cspi
> data be shared between processes... so I don't see the need.
It's quite valid to remove a cspi listener in a cspi notification list
traversal (via the notify) - so we do need this code used inside cspi.
It's best to leave it in libspi/ IMHO and expose it as an at-spi impl.
private - as suggested.
Regards,
Michael.
--
mmeeks gnu org <><, Pseudo Engineer, itinerant idiot
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]