[gdm-list] gdm problem with multiple local X server configuration (2)



I'm using gdm 2.19.5 and having problem with starting multiple local X
diaplays.

Can you guys check "gdm_start_first_unborn_local()" function in gdm.c
file?

Following is the definition of the function.  It looks like it start the
first slave and just exit.

In the gdm Master daemon, gdm_display_manage(d) always returns TRUE, so
the for loop exits after it starts first slave.
 

--
static void
gdm_start_first_unborn_local (int delay)
{
	GSList *li;
	GSList *displays;

	displays = gdm_daemon_config_get_display_list ();

	/* tickle the random stuff */
	gdm_random_tick ();

	for (li = displays; li != NULL; li = li->next) {
		GdmDisplay *d = li->data;

		if (d != NULL &&
		    d->type == TYPE_STATIC &&
		    d->dispstat == DISPLAY_UNBORN) {
			GdmXserver *svr;
			g_debug ("gdm_start_first_unborn_local: "
				   "Starting %s", d->name);

			/* well sleep at least 'delay' seconds
			 * before starting */
			d->sleep_before_run = delay;

			/* only the first static display has
			 * timed login going on */
			if (gdm_first_login)
				d->timed_login_ok = TRUE;

			svr = gdm_server_resolve (d);

			if ( ! gdm_display_manage (d)) {
				gdm_display_unmanage (d);
				/* only the first static display where
				   we actually log in gets
				   autologged in */
				if (svr != NULL &&
				    svr->handled &&
				    ! svr->chooser)
					gdm_first_login = FALSE;
			} else {
				/* only the first static display where
				   we actually log in gets
				   autologged in */
				if (svr != NULL &&
				    svr->handled &&
				    ! svr->chooser)
					gdm_first_login = FALSE;
				break;
			}
		}
	}
}
--

-- 
***********************************
Jason Kim, Software Developer
http://userful.com
2nd Floor, 928-6th Ave SW
Calgary, AB T2P 0V5
Tel: 403-289-2177   EXT: 210
     866-USERFUL (873-7385)
Fax: 403-206-7010




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