Re: [gdm-list] Question on block display during login



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]