diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-05-06 19:07:13 +0200 |
---|---|---|
committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-05-26 13:17:16 +0200 |
commit | 1d1da90042d2ee7a8215dc6291b54bc1ebe59fe4 (patch) | |
tree | 54c00f70a5703b40bb8243a6d76afd024c50cdaf /libtrivfs/io-restrict-auth.c | |
parent | 5b039a12bf5cfc9c65b8e169ed4503e306f971f3 (diff) |
libtrivfs: lock-less reference counting for trivfs_peropen objects
* libtrivfs/trivfs.h (struct trivfs_peropen): Use refcount_t for field
refcnt.
(struct trivfs_control): Remove unused field lock.
* libtrivfs/cntl-create.c (trivfs_create_control): Drop the mutex
initialization.
* libtrivfs/io-reauthenticate.c (trivfs_S_io_reauthenticate): Adjust
accordingly.
* libtrivfs/io-restrict-auth.c (trivfs_S_io_restrict_auth): Likewise.
* libtrivfs/open.c (trivfs_open): Initialize refcnt.
* libtrivfs/protid-clean.c (trivfs_clean_protid): Likewise.
* libtrivfs/protid-dup.c (trivfs_protid_dup): Likewise.
Diffstat (limited to 'libtrivfs/io-restrict-auth.c')
-rw-r--r-- | libtrivfs/io-restrict-auth.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/libtrivfs/io-restrict-auth.c b/libtrivfs/io-restrict-auth.c index 65b4fd62..39670fe3 100644 --- a/libtrivfs/io-restrict-auth.c +++ b/libtrivfs/io-restrict-auth.c @@ -110,10 +110,8 @@ trivfs_S_io_restrict_auth (struct trivfs_protid *cred, } newcred->isroot = 0; - pthread_mutex_lock (&cred->po->cntl->lock); newcred->po = cred->po; - newcred->po->refcnt++; - pthread_mutex_unlock (&cred->po->cntl->lock); + refcount_ref (&newcred->po->refcnt); if (cred->isroot && idvec_contains (user->uids, 0)) newcred->isroot = 1; newcred->user = user; |