Add lock annotations to the threading API used by hastd.
Approved by: pjd@
This commit is contained in:
parent
72b4dec586
commit
eded564156
@ -330,9 +330,8 @@ primary_exitx(int exitcode, const char *fmt, ...)
|
||||
exit(exitcode);
|
||||
}
|
||||
|
||||
/* Expects res->hr_amp locked, returns unlocked. */
|
||||
static int
|
||||
hast_activemap_flush(struct hast_resource *res)
|
||||
hast_activemap_flush(struct hast_resource *res) __unlocks(res->hr_amp_lock)
|
||||
{
|
||||
const unsigned char *buf;
|
||||
size_t size;
|
||||
|
@ -46,7 +46,7 @@
|
||||
#endif
|
||||
|
||||
static __inline void
|
||||
mtx_init(pthread_mutex_t *lock)
|
||||
mtx_init(pthread_mutex_t *lock) __requires_unlocked(*lock)
|
||||
{
|
||||
int error;
|
||||
|
||||
@ -54,7 +54,7 @@ mtx_init(pthread_mutex_t *lock)
|
||||
PJDLOG_ASSERT(error == 0);
|
||||
}
|
||||
static __inline void
|
||||
mtx_destroy(pthread_mutex_t *lock)
|
||||
mtx_destroy(pthread_mutex_t *lock) __requires_unlocked(*lock)
|
||||
{
|
||||
int error;
|
||||
|
||||
@ -62,7 +62,7 @@ mtx_destroy(pthread_mutex_t *lock)
|
||||
PJDLOG_ASSERT(error == 0);
|
||||
}
|
||||
static __inline void
|
||||
mtx_lock(pthread_mutex_t *lock)
|
||||
mtx_lock(pthread_mutex_t *lock) __locks_exclusive(*lock)
|
||||
{
|
||||
int error;
|
||||
|
||||
@ -70,7 +70,7 @@ mtx_lock(pthread_mutex_t *lock)
|
||||
PJDLOG_ASSERT(error == 0);
|
||||
}
|
||||
static __inline bool
|
||||
mtx_trylock(pthread_mutex_t *lock)
|
||||
mtx_trylock(pthread_mutex_t *lock) __trylocks_exclusive(true, *lock)
|
||||
{
|
||||
int error;
|
||||
|
||||
@ -79,7 +79,7 @@ mtx_trylock(pthread_mutex_t *lock)
|
||||
return (error == 0);
|
||||
}
|
||||
static __inline void
|
||||
mtx_unlock(pthread_mutex_t *lock)
|
||||
mtx_unlock(pthread_mutex_t *lock) __unlocks(*lock)
|
||||
{
|
||||
int error;
|
||||
|
||||
@ -94,7 +94,7 @@ mtx_owned(pthread_mutex_t *lock)
|
||||
}
|
||||
|
||||
static __inline void
|
||||
rw_init(pthread_rwlock_t *lock)
|
||||
rw_init(pthread_rwlock_t *lock) __requires_unlocked(*lock)
|
||||
{
|
||||
int error;
|
||||
|
||||
@ -102,7 +102,7 @@ rw_init(pthread_rwlock_t *lock)
|
||||
PJDLOG_ASSERT(error == 0);
|
||||
}
|
||||
static __inline void
|
||||
rw_destroy(pthread_rwlock_t *lock)
|
||||
rw_destroy(pthread_rwlock_t *lock) __requires_unlocked(*lock)
|
||||
{
|
||||
int error;
|
||||
|
||||
@ -110,7 +110,7 @@ rw_destroy(pthread_rwlock_t *lock)
|
||||
PJDLOG_ASSERT(error == 0);
|
||||
}
|
||||
static __inline void
|
||||
rw_rlock(pthread_rwlock_t *lock)
|
||||
rw_rlock(pthread_rwlock_t *lock) __locks_shared(*lock)
|
||||
{
|
||||
int error;
|
||||
|
||||
@ -118,7 +118,7 @@ rw_rlock(pthread_rwlock_t *lock)
|
||||
PJDLOG_ASSERT(error == 0);
|
||||
}
|
||||
static __inline void
|
||||
rw_wlock(pthread_rwlock_t *lock)
|
||||
rw_wlock(pthread_rwlock_t *lock) __locks_exclusive(*lock)
|
||||
{
|
||||
int error;
|
||||
|
||||
@ -126,7 +126,7 @@ rw_wlock(pthread_rwlock_t *lock)
|
||||
PJDLOG_ASSERT(error == 0);
|
||||
}
|
||||
static __inline void
|
||||
rw_unlock(pthread_rwlock_t *lock)
|
||||
rw_unlock(pthread_rwlock_t *lock) __unlocks(*lock)
|
||||
{
|
||||
int error;
|
||||
|
||||
@ -150,7 +150,7 @@ cv_init(pthread_cond_t *cv)
|
||||
PJDLOG_ASSERT(error == 0);
|
||||
}
|
||||
static __inline void
|
||||
cv_wait(pthread_cond_t *cv, pthread_mutex_t *lock)
|
||||
cv_wait(pthread_cond_t *cv, pthread_mutex_t *lock) __requires_exclusive(*lock)
|
||||
{
|
||||
int error;
|
||||
|
||||
@ -159,6 +159,7 @@ cv_wait(pthread_cond_t *cv, pthread_mutex_t *lock)
|
||||
}
|
||||
static __inline bool
|
||||
cv_timedwait(pthread_cond_t *cv, pthread_mutex_t *lock, int timeout)
|
||||
__requires_exclusive(*lock)
|
||||
{
|
||||
struct timespec ts;
|
||||
int error;
|
||||
|
Loading…
x
Reference in New Issue
Block a user