Lines Matching refs:rwlocks
377 tdb_rwlock_t *rwlocks;
380 rwlocks = (tdb_rwlock_t *)((char *)tdb->map_ptr + tdb->header.rwlocks);
384 __read_lock(&rwlocks[list+1]);
388 __write_lock(&rwlocks[list+1]);
400 tdb_rwlock_t *rwlocks;
403 rwlocks = (tdb_rwlock_t *)((char *)tdb->map_ptr + tdb->header.rwlocks);
407 __read_unlock(&rwlocks[list+1]);
411 __write_unlock(&rwlocks[list+1]);
424 tdb_rwlock_t *rwlocks;
427 rwlocks = malloc(size);
428 if (!rwlocks)
432 __spin_lock_init(&rwlocks[i].lock);
433 rwlocks[i].count = 0;
437 if (write(fd, rwlocks, size) != size) {
438 free(rwlocks);
442 free(rwlocks);
448 tdb_rwlock_t *rwlocks;
451 if (tdb->header.rwlocks == 0) return 0;
455 rwlocks = (tdb_rwlock_t *)((char *)tdb->map_ptr + tdb->header.rwlocks);
457 __spin_lock_init(&rwlocks[i].lock);
458 rwlocks[i].count = 0;
470 tdb_off off = (tdb_off)((char *)&tdb->header.rwlocks
473 tdb->header.rwlocks = 0;
475 || write(tdb->fd, (void *)&tdb->header.rwlocks,
476 sizeof(tdb->header.rwlocks))
477 != sizeof(tdb->header.rwlocks))