summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorWilliam Jon McCann <mccann@jhu.edu>2007-10-23 04:49:41 +0000
committerWilliam Jon McCann <mccann@src.gnome.org>2007-10-23 04:49:41 +0000
commitb357283fed86d6439017d62e5147d35796e2f54a (patch)
tree499f3da34e23c48a2580700819d1015bd936469b /common
parent21b77a8c1e0cfa50f4e79e18027e8473b3561cf0 (diff)
downloadgdm-b357283fed86d6439017d62e5147d35796e2f54a.tar.gz
Rework the dialog design a bit.
2007-10-23 William Jon McCann <mccann@jhu.edu> * common/gdm-common.c: (gdm_signal_pid): * common/gdm-common.h: * daemon/Makefile.am: * daemon/gdm-greeter-session.c: (spawn_child_setup), (stop_dbus_daemon), (gdm_greeter_session_stop): * daemon/gdm-server.c: (gdm_server_stop): * daemon/gdm-session-worker-job.c: (gdm_session_worker_job_stop): * daemon/gdm-slave-proxy.c: (kill_slave): * gui/simple-greeter/gdm-simple-greeter.c: (set_sensitive), (set_focus), (reset_dialog), (gdm_simple_greeter_info_query), (gdm_simple_greeter_secret_info_query), (log_in_button_clicked), (create_greeter), (gdm_simple_greeter_init): * gui/simple-greeter/gdm-simple-greeter.glade: Rework the dialog design a bit. svn path=/trunk/; revision=5390
Diffstat (limited to 'common')
-rw-r--r--common/gdm-common.c27
-rw-r--r--common/gdm-common.h3
2 files changed, 30 insertions, 0 deletions
diff --git a/common/gdm-common.c b/common/gdm-common.c
index 8eb86df1..3bb6de88 100644
--- a/common/gdm-common.c
+++ b/common/gdm-common.c
@@ -25,6 +25,7 @@
#include <stdlib.h>
#include <locale.h>
#include <fcntl.h>
+#include <sys/wait.h>
#include <glib.h>
#include <glib/gi18n.h>
@@ -33,6 +34,32 @@
#include "gdm-common.h"
#include "gdm-md5.h"
+int
+gdm_signal_pid (int pid,
+ int signal)
+{
+ int status = -1;
+
+ /* perhaps block sigchld */
+ g_debug ("sending signal %d to process %d", signal, pid);
+ status = kill (pid, signal);
+
+ if (status < 0) {
+ if (errno == ESRCH) {
+ g_warning ("Child process %d was already dead.",
+ (int)pid);
+ } else {
+ g_warning ("Couldn't kill child process %d: %s",
+ pid,
+ g_strerror (errno));
+ }
+ }
+
+ /* perhaps unblock sigchld */
+
+ return status;
+}
+
/* hex conversion adapted from D-Bus */
/**
* Appends a two-character hex digit to a string, where the hex digit
diff --git a/common/gdm-common.h b/common/gdm-common.h
index bb250a79..0628e1ea 100644
--- a/common/gdm-common.h
+++ b/common/gdm-common.h
@@ -27,6 +27,9 @@
G_BEGIN_DECLS
+int gdm_signal_pid (int pid,
+ int signal);
+
gboolean gdm_generate_random_bytes (GString *str,
int n_bytes);