X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Ftdb%2Ftraverse.c;h=d329ef4da4030c095e530b0d7b05b344c2256305;hp=8d808206f96b6fc3dcf1ee70a7d7f4687f5282a3;hb=b3804e47471640f1f8c15f5013a78bdbeb12f69d;hpb=67aef98e2e4409b69ba668a2a4a9f0757ddc7ca7 diff --git a/ccan/tdb/traverse.c b/ccan/tdb/traverse.c index 8d808206..d329ef4d 100644 --- a/ccan/tdb/traverse.c +++ b/ccan/tdb/traverse.c @@ -32,7 +32,7 @@ /* Uses traverse lock: 0 = finish, TDB_NEXT_LOCK_ERR = error, other = record offset */ static tdb_off_t tdb_next_lock(struct tdb_context *tdb, struct tdb_traverse_lock *tlock, - struct list_struct *rec) + struct tdb_record *rec) { int want_next = (tlock->off != 0); @@ -145,7 +145,7 @@ static int tdb_traverse_internal(struct tdb_context *tdb, struct tdb_traverse_lock *tl) { TDB_DATA key, dbuf; - struct list_struct rec; + struct tdb_record rec; int ret = 0, count = 0; tdb_off_t off; @@ -229,7 +229,7 @@ int tdb_traverse_read(struct tdb_context *tdb, ret = tdb_traverse_internal(tdb, fn, private_data, &tl); tdb->traverse_read--; - tdb_transaction_unlock(tdb); + tdb_transaction_unlock(tdb, F_RDLCK); return ret; } @@ -260,7 +260,7 @@ int tdb_traverse(struct tdb_context *tdb, ret = tdb_traverse_internal(tdb, fn, private_data, &tl); tdb->traverse_write--; - tdb_transaction_unlock(tdb); + tdb_transaction_unlock(tdb, F_WRLCK); return ret; } @@ -270,7 +270,7 @@ int tdb_traverse(struct tdb_context *tdb, TDB_DATA tdb_firstkey(struct tdb_context *tdb) { TDB_DATA key; - struct list_struct rec; + struct tdb_record rec; tdb_off_t off; /* release any old lock */ @@ -302,7 +302,7 @@ TDB_DATA tdb_nextkey(struct tdb_context *tdb, TDB_DATA oldkey) { uint32_t oldhash; TDB_DATA key = tdb_null; - struct list_struct rec; + struct tdb_record rec; unsigned char *k = NULL; tdb_off_t off;