summaryrefslogtreecommitdiff
path: root/daemon
diff options
context:
space:
mode:
authorBrian Cameron <Brian.Cameron@Sun.Com>2005-02-14 23:12:35 +0000
committerBrian Cameron <bcameron@src.gnome.org>2005-02-14 23:12:35 +0000
commit6ad0535aae7ff3ac3012ede39b1d92aac99960e4 (patch)
tree0f391c60f55499fb78ff71554ead5006767aa1c2 /daemon
parent48295502ccd13619eea1fe2780e8a06fd4e5b301 (diff)
downloadgdm-6ad0535aae7ff3ac3012ede39b1d92aac99960e4.tar.gz
Fix for bug #160068. Patch provided by Mark McLoughlin.
Thu Feb 14 17:10:00 2005 Brian Cameron <Brian.Cameron@Sun.Com> * daemon/display.c, daemon/gdm.h, daemon/server.c, daemon/slave.c: Fix for bug #160068. Patch provided by Mark McLoughlin.
Diffstat (limited to 'daemon')
-rw-r--r--daemon/display.c3
-rw-r--r--daemon/gdm.h2
-rw-r--r--daemon/server.c1
-rw-r--r--daemon/slave.c36
4 files changed, 12 insertions, 30 deletions
diff --git a/daemon/display.c b/daemon/display.c
index a40ef3b5..5a6da48f 100644
--- a/daemon/display.c
+++ b/daemon/display.c
@@ -59,9 +59,6 @@ gdm_display_check_loop (GdmDisplay *disp)
now = time (NULL);
- if (disp->disabled)
- return FALSE;
-
gdm_debug ("loop check: last_start %ld, last_loop %ld, now: %ld, retry_count: %d", (long)disp->last_start_time, (long) disp->last_loop_start_time, (long) now, disp->retry_count);
if (disp->last_loop_start_time > now || disp->last_loop_start_time == 0)
diff --git a/daemon/gdm.h b/daemon/gdm.h
index 941c9ac3..d43ac4ac 100644
--- a/daemon/gdm.h
+++ b/daemon/gdm.h
@@ -382,8 +382,6 @@ struct _GdmDisplay {
gboolean try_different_greeter;
- gboolean disabled;
-
gboolean logged_in; /* TRUE if someone is logged in */
char *login;
diff --git a/daemon/server.c b/daemon/server.c
index da46b27f..ca8d7b94 100644
--- a/daemon/server.c
+++ b/daemon/server.c
@@ -1364,7 +1364,6 @@ gdm_server_alloc (gint id, const gchar *command)
d->last_loop_start_time = 0;
d->last_start_time = 0;
d->retry_count = 0;
- d->disabled = FALSE;
d->sleep_before_run = 0;
d->login = NULL;
diff --git a/daemon/slave.c b/daemon/slave.c
index 88eb13d9..7c543b44 100644
--- a/daemon/slave.c
+++ b/daemon/slave.c
@@ -202,8 +202,7 @@ static void gdm_slave_exit (gint status, const gchar *format, ...) G_GNUC_PR
static void gdm_child_exit (gint status, const gchar *format, ...) G_GNUC_PRINTF (2, 3);
static gint gdm_slave_exec_script (GdmDisplay *d, const gchar *dir,
const char *login, struct passwd *pwent,
- gboolean pass_stdout,
- gboolean set_parent);
+ gboolean pass_stdout);
static gchar * gdm_parse_enriched_login (const gchar *s, GdmDisplay *display);
static void gdm_slave_handle_usr2_message (void);
static void gdm_slave_handle_notify (const char *msg);
@@ -928,8 +927,7 @@ setup_automatic_session (GdmDisplay *display, const char *name)
/* Run the init script. gdmslave suspends until script
* has terminated */
gdm_slave_exec_script (display, GdmDisplayInit, NULL, NULL,
- FALSE /* pass_stdout */,
- TRUE /* set_parent */);
+ FALSE /* pass_stdout */);
gdm_debug ("setup_automatic_session: DisplayInit script finished");
@@ -2446,8 +2444,7 @@ gdm_slave_greeter (void)
/* Run the init script. gdmslave suspends until script has terminated */
gdm_slave_exec_script (d, GdmDisplayInit, NULL, NULL,
- FALSE /* pass_stdout */,
- TRUE /* set_parent */);
+ FALSE /* pass_stdout */);
/* Open a pipe for greeter communications */
if G_UNLIKELY (pipe (pipe1) < 0)
@@ -2938,8 +2935,7 @@ gdm_slave_chooser (void)
/* Run the init script. gdmslave suspends until script has terminated */
gdm_slave_exec_script (d, GdmDisplayInit, NULL, NULL,
- FALSE /* pass_stdout */,
- TRUE /* set_parent */);
+ FALSE /* pass_stdout */);
/* Fork. Parent is gdmslave, child is greeter process. */
gdm_sigchld_block_push ();
@@ -3465,8 +3461,7 @@ session_child_run (struct passwd *pwent,
/* Run the PreSession script */
if G_UNLIKELY (gdm_slave_exec_script (d, GdmPreSession,
login, pwent,
- TRUE /* pass_stdout */,
- TRUE /* set_parent */) != EXIT_SUCCESS &&
+ TRUE /* pass_stdout */) != EXIT_SUCCESS &&
/* ignore errors in failsafe modes */
! failsafe)
/* If script fails reset X server and restart greeter */
@@ -3876,8 +3871,7 @@ gdm_slave_session_start (void)
/* Run the PostLogin script */
if G_UNLIKELY (gdm_slave_exec_script (d, GdmPostLogin,
login, pwent,
- TRUE /* pass_stdout */,
- TRUE /* set_parent */) != EXIT_SUCCESS &&
+ TRUE /* pass_stdout */) != EXIT_SUCCESS &&
/* ignore errors in failsafe modes */
! failsafe) {
gdm_verify_cleanup (d);
@@ -4320,8 +4314,7 @@ gdm_slave_session_stop (gboolean run_post_session,
/* Execute post session script */
gdm_debug ("gdm_slave_session_stop: Running post session script");
gdm_slave_exec_script (d, GdmPostSession, local_login, pwent,
- FALSE /* pass_stdout */,
- TRUE /* set_parent */);
+ FALSE /* pass_stdout */);
}
VE_IGNORE_EINTR (unlink (x_servers_file));
@@ -5079,8 +5072,7 @@ set_xnest_parent_stuff (void)
static gint
gdm_slave_exec_script (GdmDisplay *d, const gchar *dir, const char *login,
- struct passwd *pwent, gboolean pass_stdout,
- gboolean set_parent)
+ struct passwd *pwent, gboolean pass_stdout)
{
pid_t pid;
char *script;
@@ -5132,8 +5124,7 @@ gdm_slave_exec_script (GdmDisplay *d, const gchar *dir, const char *login,
return EXIT_SUCCESS;
}
- if (set_parent)
- create_temp_auth_file ();
+ create_temp_auth_file ();
pid = gdm_fork_extra ();
@@ -5189,8 +5180,7 @@ gdm_slave_exec_script (GdmDisplay *d, const gchar *dir, const char *login,
ve_setenv ("SHELL", "/bin/sh", TRUE);
}
- if (set_parent)
- set_xnest_parent_stuff ();
+ set_xnest_parent_stuff ();
/* some env for use with the Pre and Post scripts */
x_servers_file = gdm_make_filename (GdmServAuthDir,
@@ -5218,8 +5208,7 @@ gdm_slave_exec_script (GdmDisplay *d, const gchar *dir, const char *login,
_exit (EXIT_SUCCESS);
case -1:
- if (set_parent)
- gdm_slave_whack_temp_auth_file ();
+ gdm_slave_whack_temp_auth_file ();
g_free (script);
syslog (LOG_ERR, _("%s: Can't fork script process!"), "gdm_slave_exec_script");
return EXIT_SUCCESS;
@@ -5227,8 +5216,7 @@ gdm_slave_exec_script (GdmDisplay *d, const gchar *dir, const char *login,
default:
gdm_wait_for_extra (&status);
- if (set_parent)
- gdm_slave_whack_temp_auth_file ();
+ gdm_slave_whack_temp_auth_file ();
g_free (script);