Re: g-s-d and SM



Hi Jacob,

On 13 Jun 2002, jacob berkman wrote:

> On Thu, 2002-06-13 at 16:15, Gregory Merchan wrote:
> > On Thu, Jun 13, 2002 at 03:01:53PM -0400, jacob berkman wrote:
> > > On Thu, 2002-06-13 at 15:56, Havoc Pennington wrote:
> > <snip>
> > > >
> > > > Why isn't it getting SESSION_MANAGER the same way everything else is?
> > >
> > > because it's being started via bonobo-activation by a capplet (due to it
> > > being somehow dropped from the session).
> >
> > Why does the environment not persist across bonobo-activation?
>
> because components are not session based.

	Well, not really - its because

(server/activation-server-main.c)

/*
 * This is needed because otherwise, if oafd persists across X
 * sessions, spawned processes will inherit an invalid value
 * of SESSION_MANAGER and be very very slow while attempting to
 * connect to it.
 */
#if HAVE_UNSETENV
        unsetenv ("SESSION_MANAGER");
#else
        putenv ("SESSION_MANAGER=");
#endif

	I hadn't seen this before, but I think its *really* bad news.
Effectively this means that anything spawned from a component cannot
connect to the session manager. Think launching the cd player from the
cd player applet or the mixer from the mixer applet ... Those apps
won't be session managed ...

	Would it not make more sense for bonobo-activation-server to
just not persist across sessions? i.e. bonobo-activation-server should
connect to the session manager (setting its RestartStyleHint to
RestartNever) and shutting down on receipt of a Die from the session
manager.

	Thoughts ?

Good Luck,
Mark.




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