summaryrefslogtreecommitdiffstats
path: root/src/db/sysdb_services.c
diff options
context:
space:
mode:
authorMichal Zidek <mzidek@redhat.com>2012-08-15 10:56:21 +0200
committerJakub Hrozek <jhrozek@redhat.com>2012-09-04 13:56:32 +0200
commit3a59cbd0b7b9c5dd3c62ac1679876070c264d80f (patch)
tree0f5440da7b11b227e638a33e2d3600622c41e6c7 /src/db/sysdb_services.c
parent28943451c1b0f01845266b0f13cc3772c2b1d66f (diff)
downloadsssd-3a59cbd0b7b9c5dd3c62ac1679876070c264d80f.tar.gz
sssd-3a59cbd0b7b9c5dd3c62ac1679876070c264d80f.tar.xz
sssd-3a59cbd0b7b9c5dd3c62ac1679876070c264d80f.zip
Unify usage of sysdb transactions (part 2).
Diffstat (limited to 'src/db/sysdb_services.c')
-rw-r--r--src/db/sysdb_services.c21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/db/sysdb_services.c b/src/db/sysdb_services.c
index 9a5e57a02..f3ed48ed8 100644
--- a/src/db/sysdb_services.c
+++ b/src/db/sysdb_services.c
@@ -202,7 +202,10 @@ sysdb_store_service(struct sysdb_ctx *sysdb,
if (!tmp_ctx) return ENOMEM;
ret = sysdb_transaction_start(sysdb);
- if (ret != EOK) goto done;
+ if (ret != EOK) {
+ DEBUG(SSSDBG_CRIT_FAILURE, ("Failed to start transaction\n"));
+ goto done;
+ }
in_transaction = true;
@@ -403,7 +406,11 @@ sysdb_store_service(struct sysdb_ctx *sysdb,
}
ret = sysdb_transaction_commit(sysdb);
- if (ret == EOK) in_transaction = false;
+ if (ret != EOK) {
+ DEBUG(SSSDBG_CRIT_FAILURE, ("Failed to commit transaction\n"));
+ goto done;
+ }
+ in_transaction = false;
done:
if (in_transaction) {
@@ -660,7 +667,10 @@ sysdb_svc_delete(struct sysdb_ctx *sysdb,
}
ret = sysdb_transaction_start(sysdb);
- if (ret != EOK) goto done;
+ if (ret != EOK) {
+ DEBUG(SSSDBG_CRIT_FAILURE, ("Failed to start transaction\n"));
+ goto done;
+ }
in_transaction = true;
@@ -692,6 +702,10 @@ sysdb_svc_delete(struct sysdb_ctx *sysdb,
}
ret = sysdb_transaction_commit(sysdb);
+ if (ret != EOK) {
+ DEBUG(SSSDBG_CRIT_FAILURE, ("Failed to commit transaction\n"));
+ goto done;
+ }
in_transaction = false;
done:
@@ -702,6 +716,7 @@ done:
("Could not cancel transaction\n"));
}
}
+
if (ret != EOK && ret != ENOENT) {
DEBUG(SSSDBG_TRACE_INTERNAL,
("Error: %d (%s)\n", ret, strerror(ret)));