s4-ldb: added ldb_transaction_cancel_noerr()
[ira/wip.git] / source4 / lib / ldb / common / ldb.c
index e9c924583e37c161e44898af3f7cc68949eb92c0..59727d75d01b00dc3b750d648e12f4257a38c9d6 100644 (file)
@@ -481,6 +481,19 @@ int ldb_transaction_cancel(struct ldb_context *ldb)
        return status;
 }
 
+/*
+  cancel a transaction with no error if no transaction is pending
+  used when we fork() to clear any parent transactions
+*/
+int ldb_transaction_cancel_noerr(struct ldb_context *ldb)
+{
+       if (ldb->transaction_active > 0) {
+               return ldb_transaction_cancel(ldb);
+       }
+       return LDB_SUCCESS;
+}
+
+
 /* autostarts a transacion if none active */
 static int ldb_autotransaction_request(struct ldb_context *ldb,
                                       struct ldb_request *req)