Re: [G2R] Re: Various releases ...
- From: Michael Meeks <michael ximian com>
- To: Havoc Pennington <hp redhat com>
- Cc: bonobo <gnome-components-list gnome org>, orbit <orbit-list gnome org>, Release Team <gnome2-release-team gnome org>
- Subject: Re: [G2R] Re: Various releases ...
- Date: 08 May 2002 13:39:36 +0100
Hi Havoc,
On Sat, 2002-04-20 at 17:20, Havoc Pennington wrote:
> Ugh, if I'm not mistaken this is the Evil use of atexit() - it's not
> debug-only.
True.
> Programs crash. Programs get the kill -9 treatment. atexit() is not
> reliable... fix the architecture... atexit() is just going to make
> things work "most of the time" and so we'll never be able to track
> down and fix the random bogons when it doesn't work.
Well - please propose a solution; I'm all ears.
Initially I tried doing a sweep of all linc sockets on startup; but
this caused nasty issues forking gconfd - due to how the sockets were
setup, and the lack of people at the other end polling on them. Also it
seems to to scale overly beautifully [ having every app waiting for
every other app to respond before starting ], and of course just 1 app
sitting in a hard loop will lock everything up that uses CORBA - not
optimal.
So - the atexit handler removes the majority of the /tmp/orbit-foo
files in a fairly painless way, and it's always been there - I just
forward ported it from ORBit1.
Of course - there are other solutions; like getting a single
application [ gnome-session ] to do a more interesting non-blocking poll
on all the descriptors in /tmp/orbit-foo and just removing anything that
responds rapidly with an "it's dead" type error.
So ...
> Plus this reintroduces the "failure to use _exit() with fork/exec
> causes program implosion" issue that gtk 1.2 had.
You just have to use _exit () with fork / exec. AFAIK that's just
something you have to do; why is it a problem ?
Regards,
Michael.
--
mmeeks gnu org <><, Pseudo Engineer, itinerant idiot
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]