aboutsummaryrefslogtreecommitdiff
path: root/security/sssd/files/patch-src-monitor-monitor.c
blob: f006fe777692f9b10d4902ad73dabf5bb3083c6d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Backport a887e33fbd from upstream:
MONITOR: Do not use two configuration databases

--- src/monitor/monitor.c.orig	2014-09-17 13:01:37 UTC
+++ src/monitor/monitor.c
@@ -2832,6 +2832,20 @@ int main(int argc, const char *argv[])
     ret = server_setup(MONITOR_NAME, flags, monitor->conf_path, &main_ctx);
     if (ret != EOK) return 2;
 
+    /* Use confd initialized in server_setup. ldb_tdb module (1.4.0) check PID
+    * of process which initialized db for locking purposes.
+    * Failed to unlock db: ../ldb_tdb/ldb_tdb.c:147:
+    *    Reusing ldb opened by pid 28889 in process 28893
+    */
+    talloc_zfree(monitor->cdb);
+    monitor->cdb = main_ctx->confdb_ctx;
+
+    ret = confdb_get_domains(monitor->cdb, &monitor->domains);
+    if (ret != EOK) {
+	     DEBUG(SSSDBG_FATAL_FAILURE, "No domains configured.\n");
+	     return 4;
+    }
+
     monitor->is_daemon = !opt_interactive;
     monitor->parent_pid = main_ctx->parent_pid;
     monitor->ev = main_ctx->event_ctx;