add rw_lock_t