From a024989597444aabc3a44da99c5e6828236cba3f Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Tue, 17 Apr 2007 09:14:52 +1000 Subject: [PATCH] add an explanation of how to use ctdb_lockwait() (This used to be ctdb commit e0c9844ea6270ff506b0b5906aa6ccfcc3bcce7a) --- ctdb/common/ctdb_lockwait.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/ctdb/common/ctdb_lockwait.c b/ctdb/common/ctdb_lockwait.c index 6d733155e4a..304a0a413ea 100644 --- a/ctdb/common/ctdb_lockwait.c +++ b/ctdb/common/ctdb_lockwait.c @@ -59,7 +59,16 @@ static int lockwait_destructor(struct lockwait_handle *h) return 0; } +/* + setup a non-blocking chainlock on a tdb record. If this function + returns NULL then it could not get the chainlock. Otherwise it + returns a opaque handle, and will call callback() once it has + managed to get the chainlock. You can cancel it by using talloc_free + on the returned handle. + It is the callers responsibility to unlock the chainlock once + acquired + */ struct lockwait_handle *ctdb_lockwait(struct ctdb_db_context *ctdb_db, TDB_DATA key, void (*callback)(void *), void *private_data)