summaryrefslogtreecommitdiffstats
path: root/src/sbus
diff options
context:
space:
mode:
Diffstat (limited to 'src/sbus')
-rw-r--r--src/sbus/sssd_dbus.h3
-rw-r--r--src/sbus/sssd_dbus_connection.c6
2 files changed, 6 insertions, 3 deletions
diff --git a/src/sbus/sssd_dbus.h b/src/sbus/sssd_dbus.h
index 0fd499cbe..8ba108ee3 100644
--- a/src/sbus/sssd_dbus.h
+++ b/src/sbus/sssd_dbus.h
@@ -50,7 +50,8 @@ typedef int (*sbus_server_conn_init_fn)(struct sbus_connection *, void *);
enum {
SBUS_CONN_TYPE_PRIVATE = 1,
- SBUS_CONN_TYPE_SHARED
+ SBUS_CONN_TYPE_SHARED,
+ SBUS_CONN_TYPE_SYSBUS
};
enum {
diff --git a/src/sbus/sssd_dbus_connection.c b/src/sbus/sssd_dbus_connection.c
index 7ea70efa5..58005c238 100644
--- a/src/sbus/sssd_dbus_connection.c
+++ b/src/sbus/sssd_dbus_connection.c
@@ -275,8 +275,10 @@ static int connection_destructor(void *ctx)
/* Private connections must be closed explicitly */
dbus_connection_close(conn->dbus.conn);
}
- else if (conn->connection_type == SBUS_CONN_TYPE_SHARED) {
- /* Shared connections are destroyed when their last reference is removed */
+ else if (conn->connection_type == SBUS_CONN_TYPE_SHARED ||
+ conn->connection_type == SBUS_CONN_TYPE_SYSBUS) {
+ /* Shared and system bus connections are destroyed when their last
+ reference is removed */
}
else {
/* Critical Error! */