Use macros rather than inline functions to lock and unlock mutexes, so that
line number information is preserved in witness. Reviewed by: jhb
This commit is contained in:
parent
45b8980f0e
commit
b79b28b69d
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=215021
@ -68,23 +68,21 @@ struct taskqueue {
|
||||
#define TQ_FLAGS_BLOCKED (1 << 1)
|
||||
#define TQ_FLAGS_PENDING (1 << 2)
|
||||
|
||||
static __inline void
|
||||
TQ_LOCK(struct taskqueue *tq)
|
||||
{
|
||||
if (tq->tq_spin)
|
||||
mtx_lock_spin(&tq->tq_mutex);
|
||||
else
|
||||
mtx_lock(&tq->tq_mutex);
|
||||
}
|
||||
#define TQ_LOCK(tq) \
|
||||
do { \
|
||||
if ((tq)->tq_spin) \
|
||||
mtx_lock_spin(&(tq)->tq_mutex); \
|
||||
else \
|
||||
mtx_lock(&(tq)->tq_mutex); \
|
||||
} while (0)
|
||||
|
||||
static __inline void
|
||||
TQ_UNLOCK(struct taskqueue *tq)
|
||||
{
|
||||
if (tq->tq_spin)
|
||||
mtx_unlock_spin(&tq->tq_mutex);
|
||||
else
|
||||
mtx_unlock(&tq->tq_mutex);
|
||||
}
|
||||
#define TQ_UNLOCK(tq) \
|
||||
do { \
|
||||
if ((tq)->tq_spin) \
|
||||
mtx_unlock_spin(&(tq)->tq_mutex); \
|
||||
else \
|
||||
mtx_unlock(&(tq)->tq_mutex); \
|
||||
} while (0)
|
||||
|
||||
static __inline int
|
||||
TQ_SLEEP(struct taskqueue *tq, void *p, struct mtx *m, int pri, const char *wm,
|
||||
|
Loading…
Reference in New Issue
Block a user