From 1812cd5a9f2e85cbf444f2b04bd4bc302bdb7b66 Mon Sep 17 00:00:00 2001 From: ed Date: Mon, 1 Sep 2014 19:56:28 +0000 Subject: Add lock annotations to libcuse. - Add annotations to the lock/unlock function to indicate that the function is allowed to lock and unlock the underlying pthread mutex. - Add __guarded_by() annotations to the global variables. Approved by: hselasky@ --- lib/libcuse/cuse_lib.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'lib/libcuse') diff --git a/lib/libcuse/cuse_lib.c b/lib/libcuse/cuse_lib.c index 9d8352f..707e69d 100644 --- a/lib/libcuse/cuse_lib.c +++ b/lib/libcuse/cuse_lib.c @@ -79,20 +79,22 @@ struct cuse_dev { void *priv1; }; -static TAILQ_HEAD(, cuse_dev) h_cuse; -static TAILQ_HEAD(, cuse_dev_entered) h_cuse_entered; static int f_cuse = -1; + static pthread_mutex_t m_cuse; -static struct cuse_vm_allocation a_cuse[CUSE_ALLOC_UNIT_MAX]; +static TAILQ_HEAD(, cuse_dev) h_cuse __guarded_by(m_cuse); +static TAILQ_HEAD(, cuse_dev_entered) h_cuse_entered __guarded_by(m_cuse); +static struct cuse_vm_allocation a_cuse[CUSE_ALLOC_UNIT_MAX] + __guarded_by(m_cuse); static void -cuse_lock(void) +cuse_lock(void) __locks_exclusive(m_cuse) { pthread_mutex_lock(&m_cuse); } static void -cuse_unlock(void) +cuse_unlock(void) __unlocks(m_cuse) { pthread_mutex_unlock(&m_cuse); } -- cgit v1.1