diff options
author | William Jon McCann <mccann@src.gnome.org> | 2007-06-20 21:23:01 +0000 |
---|---|---|
committer | William Jon McCann <mccann@src.gnome.org> | 2007-06-20 21:23:01 +0000 |
commit | 4f1952f28fae19083b80e676c930e0ef3469e179 (patch) | |
tree | a2f905712bfc7e9fb408ecebf5dc0cc4986d3007 /daemon | |
parent | 56e88cefbf42ca0831b4bed425b3b379ed8abec3 (diff) | |
download | gdm-4f1952f28fae19083b80e676c930e0ef3469e179.tar.gz |
add a large timeout
svn path=/branches/mccann-gobject/; revision=5010
Diffstat (limited to 'daemon')
-rw-r--r-- | daemon/gdm-product-slave.c | 12 | ||||
-rw-r--r-- | daemon/gdm-session-worker.c | 34 | ||||
-rw-r--r-- | daemon/gdm-session.c | 3 |
3 files changed, 27 insertions, 22 deletions
diff --git a/daemon/gdm-product-slave.c b/daemon/gdm-product-slave.c index b67b42c1..da3b70c8 100644 --- a/daemon/gdm-product-slave.c +++ b/daemon/gdm-product-slave.c @@ -393,13 +393,13 @@ relay_session_started (GdmProductSlave *slave) } static void -on_open (GdmSession *session, - GdmProductSlave *slave) +on_opened (GdmSession *session, + GdmProductSlave *slave) { GError *error; gboolean res; - g_debug ("session open"); + g_debug ("session opened"); res = gdm_session_begin_verification (session, slave->priv->selected_user, &error); @@ -839,7 +839,7 @@ on_relay_open (DBusGProxy *proxy, error = NULL; res = gdm_session_open (slave->priv->session, "gdm", - NULL /* hostname */, + "", "/dev/console", &error); if (! res) { @@ -854,8 +854,8 @@ create_new_session (GdmProductSlave *slave) slave->priv->session = gdm_session_new (); g_signal_connect (slave->priv->session, - "open", - G_CALLBACK (on_open), + "opened", + G_CALLBACK (on_opened), slave); g_signal_connect (slave->priv->session, diff --git a/daemon/gdm-session-worker.c b/daemon/gdm-session-worker.c index 4e1d8f42..dbda8229 100644 --- a/daemon/gdm-session-worker.c +++ b/daemon/gdm-session-worker.c @@ -62,6 +62,8 @@ #define GDM_SESSION_ROOT_UID 0 #endif +#define MESSAGE_REPLY_TIMEOUT (10 * 60 * 1000) + struct GdmSessionWorkerPrivate { int exit_code; @@ -453,14 +455,16 @@ gdm_session_worker_ask_question (GdmSessionWorker *worker, char *answer; error = NULL; - res = dbus_g_proxy_call (worker->priv->server_proxy, - "InfoQuery", - &error, - G_TYPE_STRING, question, - G_TYPE_INVALID, - G_TYPE_STRING, &answer, - G_TYPE_INVALID); + res = dbus_g_proxy_call_with_timeout (worker->priv->server_proxy, + "InfoQuery", + MESSAGE_REPLY_TIMEOUT, + &error, + G_TYPE_STRING, question, + G_TYPE_INVALID, + G_TYPE_STRING, &answer, + G_TYPE_INVALID); if (! res) { + /* FIXME: handle timeout */ g_warning ("Unable to send InfoQuery: %s", error->message); g_error_free (error); } @@ -479,14 +483,16 @@ gdm_session_worker_ask_for_secret (GdmSessionWorker *worker, g_debug ("Secret info query: %s", secret); error = NULL; - res = dbus_g_proxy_call (worker->priv->server_proxy, - "SecretInfoQuery", - &error, - G_TYPE_STRING, secret, - G_TYPE_INVALID, - G_TYPE_STRING, &answer, - G_TYPE_INVALID); + res = dbus_g_proxy_call_with_timeout (worker->priv->server_proxy, + "SecretInfoQuery", + MESSAGE_REPLY_TIMEOUT, + &error, + G_TYPE_STRING, secret, + G_TYPE_INVALID, + G_TYPE_STRING, &answer, + G_TYPE_INVALID); if (! res) { + /* FIXME: handle timeout */ g_warning ("Unable to send SecretInfoQuery: %s", error->message); g_error_free (error); } diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c index bafc03ab..c4712acb 100644 --- a/daemon/gdm-session.c +++ b/daemon/gdm-session.c @@ -567,7 +567,6 @@ gdm_session_handle_verified (GdmSession *session, DBusMessage *message) { DBusMessage *reply; - DBusError error; g_debug ("Emitting 'user-verified' signal"); @@ -699,7 +698,7 @@ gdm_session_handle_secret_info_query (GdmSession *session, DBusConnection *connection, DBusMessage *message) { - DBusMessage *reply; + DBusError error; const char *text; dbus_error_init (&error); |