diff options
authorLennart Poettering <>2009-08-11 03:57:27 +0200
committerLennart Poettering <>2009-08-12 04:00:04 +0200
commit76f0578e7a497e569438316703df254f84b548a0 (patch)
parent8535db29009c48a37fc2559ca0fcc5b366e1e122 (diff)
get rid of session.d's session_active_changed callout
The 'session_active_changed' callout is an invitaton to racy misuses since it splits up the session switches into two events. This patch gets rid of it. At this point there are two known users of the session.d/ callouts: - Suse/Ubuntu ship a script for emulating pam_atconsole style /var/run/console management for supporting D-Bus' at_console feature properly. Both Martin Pitt and Kay Sievers however are happy with having this feature go away. In addition I prepared a patch for D-Bus which makes the need for these scripts go away entirely. That patch is currently awaiting review. - udev's udev-acl tool currently uses this. However this doesn't work correctly anyway since it relies on that the CK database is correctly dumped before the tool is invoked, which CK does not handle properly at this time. In fact fixing this problem is the main reason why I came up with this patch series. Kay is also very interested in seeing the 'session_active_changed' logic go away. A later commit introduces a replacement functionality that is less racy. Please note that this patch does not drop session.d/ in its entirety. Only the 'session_active_changed' type callout is removed. Scripts that only rely on 'session_added'/'session_removed' will continue to work fine, and will continue to be supported.
2 files changed, 7 insertions, 3 deletions
diff --git a/NEWS b/NEWS
index 6a7c190..eb8106b 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,10 @@
+Version 0.3.2
+ * Starting with this release we will not do session.d/ 'session_active_changed' callouts anymore. (Lennart Poettering)
Version 0.3.1
@@ -33,7 +39,7 @@ Version 0.3.0
* still having problems using xinclude (William Jon McCann)
* fix the includes (William Jon McCann)
* add missing bits (William Jon McCann)
- * use spec files directly as introspection xml and try to generate docs on the fly (William Jon McCan
+ * use spec files directly as introspection xml and try to generate docs on the fly (William Jon McCann)
* use object paths for seat added/removed signals per spec (William Jon McCann)
* regenerate the docs and xml from the spec (William Jon McCann)
* add GetLoginSessionId to exported interface (William Jon McCann)
diff --git a/src/ck-session.c b/src/ck-session.c
index 032d2b9..d8db9dd 100644
--- a/src/ck-session.c
+++ b/src/ck-session.c
@@ -399,7 +399,6 @@ ck_session_set_active (CkSession *session,
if (session->priv->active != active) {
session->priv->active = active;
- ck_session_run_programs (session, "session_active_changed");
g_signal_emit (session, signals [ACTIVE_CHANGED], 0, active);
@@ -1360,4 +1359,3 @@ ck_session_dump (CkSession *session,
g_free (group_name);