Re: [gdm-list] Question on block display during login
- From: Ray Strode <halfline gmail com>
- To: Halton Huo <halton huo gmail com>
- Cc: gdm-list gnome org
- Subject: Re: [gdm-list] Question on block display during login
- Date: Tue, 23 Mar 2010 14:48:37 -0400
Hi,
On Tue, Mar 23, 2010 at 7:52 AM, Halton Huo <halton huo gmail com> wrote:
> [If you're not interested in multi-seat and multi-display feature,
> please ignore this email]
>
> Ray,
>
> You added the code to block session request during login. The code seems
> not executed with my use, could you give me a scenario?
IIRC, it's to prevent a race condition between consolekit and gdm. I
don't know if the race it likely to happen in practice or not.
The point is that there is a tiny window between when GDMs session
stops and the Users session is about to start. This is to prevent CK
from interfering during that window, I believe.
--Ray
>
> Thanks,
> Halton.
>
> ----------------------
> $git show 5875501cfca9d30bd76851750ee342b92e0f328f
> commit 5875501cfca9d30bd76851750ee342b92e0f328f
> Author: Ray Strode <rstrode redhat com>
> Date: Tue Jun 23 22:52:32 2009 -0400
>
> Make slave ask factory to ignore requests at login
>
> The slave sets the hint on its display during login that
> it's going to be opening a session on it soon, so ConsoleKit
> requests should be ignored.
>
> diff --git a/daemon/gdm-simple-slave.c b/daemon/gdm-simple-slave.c
> index a3b4141..b7de4bc 100644
> --- a/daemon/gdm-simple-slave.c
> +++ b/daemon/gdm-simple-slave.c
> @@ -374,6 +374,10 @@ start_session_timeout (GdmSimpleSlave *slave)
> goto out;
> }
>
> + /* Defer requests to use this display from ConsoleKit
> + * for the time being
> + */
> + gdm_slave_block_console_session_requests_on_display (GDM_SLAVE
> (slave));
> stop_greeter (slave);
>
> auth_file = NULL;
> @@ -388,6 +392,7 @@ start_session_timeout (GdmSimpleSlave *slave)
> g_free (auth_file);
>
> gdm_session_start_session (GDM_SESSION (slave->priv->session));
> + gdm_slave_unblock_console_session_requests_on_display
> (GDM_SLAVE (slave));
> out:
> slave->priv->start_session_id = 0;
> return FALSE;
>
>
>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]