]> git.ozlabs.org Git - ccan/blobdiff - ccan/tdb/test/external-transaction.h
New test: reveals race (found by Volker) when open occurs during transaction commit.
[ccan] / ccan / tdb / test / external-transaction.h
index 62a4803bc0ebcd4dd905de608bfe3c9b0549a48a..843b697917522f13690352cbe03798fb253a273e 100644 (file)
@@ -2,10 +2,24 @@
 #define TDB_TEST_EXTERNAL_TRANSACTION_H
 #include <stdbool.h>
 
+enum operation {
+       OPEN,
+       OPEN_WITH_CLEAR_IF_FIRST,
+       TRANSACTION,
+};
+
 /* Do this before doing any tdb stuff.  Return handle, or -1. */
 struct agent *prepare_external_agent(void);
 
-/* Ask the external agent to try to do a transaction. */
-bool external_agent_transaction(struct agent *handle, const char *tdbname);
+/* Ask the external agent to try to do an operation. */
+bool external_agent_operation(struct agent *handle,
+                             enum operation op,
+                             const char *tdbname);
+
+/* Ask... */
+void external_agent_operation_start(struct agent *agent,
+                                   enum operation op, const char *tdbname);
 
+/* See if they've done it. */
+bool external_agent_operation_check(struct agent *agent, bool block, int *res);
 #endif /* TDB_TEST_EXTERNAL_TRANSACTION_H */