Re: Bonobo Unique Application
Alexander Larsson <[email protected]>
| Newsgroups | gmane.comp.gnome.components |
|---|---|
| Message-ID | <Pine.LNX.4.44.0304111140000.30054-100000@devserv.devel.redhat.com> |
On 11 Apr 2003, Gustavo J. A. M. Carneiro wrote:
> > You need to queue the signal emission in an idle, or you'll create lots of
> > reentrancy bugs.
>
> Reentrancy doesn't cause bugs in the library code, as far as I can
> see. It could cause bugs in the application code, of course, in which
> case the application programmer is responsible for them.
> Do you still think I should queue the signal emission, to protect the
> application programmer? I'm not completely convinced that I should, but
> if you insist, I'm not completely against it either. :)
Sure, it's not bonobos "fault" if the app crashes. But we should design
libraries that help authors make stable systems, not libraries that
can't be blamed when the app crashes.
Every app that uses this API has to queue an idle, or guarantee that the
"message" signal handler is reentrancy-safe with respect to all code that
ever makes a corba call, including in libraries the app uses. Since it is
impossible to guarantee this in any non-trivial app, every app needs to
queue an idle. Therefore I think it makes much more sense to have bonobo
do the idle and not every application.
Well, everyone knows what I think about reentrancy, so I'll shut up now.
--
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Alexander Larsson Red Hat, Inc
[email protected] [email protected]
He's a fast talking guitar-strumming librarian with a passion for fast cars.
She's a disco-crazy tempestuous archaeologist with the power to see death.
They fight crime!