X-Git-Url: http://git.samba.org/samba.git/?p=ira%2Fwip.git;a=blobdiff_plain;f=lib%2Ftdb%2Fcommon%2Ftraverse.c;h=d329ef4da4030c095e530b0d7b05b344c2256305;hp=8d808206f96b6fc3dcf1ee70a7d7f4687f5282a3;hb=caaf5c6baa1a4f340c1f38edd99b3a8b56621b8b;hpb=b77f41d58b05101e02d8ac0e54cb0e30807d89c2 diff --git a/lib/tdb/common/traverse.c b/lib/tdb/common/traverse.c index 8d808206f96..d329ef4da40 100644 --- a/lib/tdb/common/traverse.c +++ b/lib/tdb/common/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;