Lines Matching defs:rwlocks
369 tdb_rwlock_t *rwlocks;
372 rwlocks = (tdb_rwlock_t *)((char *)tdb->map_ptr + tdb->header.rwlocks);
376 __read_lock(&rwlocks[list+1]);
380 __write_lock(&rwlocks[list+1]);
392 tdb_rwlock_t *rwlocks;
395 rwlocks = (tdb_rwlock_t *)((char *)tdb->map_ptr + tdb->header.rwlocks);
399 __read_unlock(&rwlocks[list+1]);
403 __write_unlock(&rwlocks[list+1]);
416 tdb_rwlock_t *rwlocks;
419 rwlocks = malloc(size);
420 if (!rwlocks)
424 __spin_lock_init(&rwlocks[i].lock);
425 rwlocks[i].count = 0;
429 if (write(fd, rwlocks, size) != size) {
430 free(rwlocks);
434 free(rwlocks);
440 tdb_rwlock_t *rwlocks;
443 if (tdb->header.rwlocks == 0) return 0;
447 rwlocks = (tdb_rwlock_t *)((char *)tdb->map_ptr + tdb->header.rwlocks);
449 __spin_lock_init(&rwlocks[i].lock);
450 rwlocks[i].count = 0;
462 tdb_off off = (tdb_off)((char *)&tdb->header.rwlocks
465 tdb->header.rwlocks = 0;
467 || write(tdb->fd, (void *)&tdb->header.rwlocks,
468 sizeof(tdb->header.rwlocks))
469 != sizeof(tdb->header.rwlocks))