mirror of
https://github.com/opnsense/src.git
synced 2026-05-28 04:12:45 -04:00
o Make _thr_umutex_init a function.
o Eliminate unused parameter for some functions. o Convert type of first parameter to void * for _thr_umtx_wait and _thr_umtx_wake.
This commit is contained in:
parent
90c3810cda
commit
8042f26d52
2 changed files with 23 additions and 21 deletions
|
|
@ -30,8 +30,16 @@
|
|||
#include "thr_private.h"
|
||||
#include "thr_umtx.h"
|
||||
|
||||
void
|
||||
_thr_umutex_init(struct umutex *mtx)
|
||||
{
|
||||
static struct umutex default_mtx = DEFAULT_UMUTEX;
|
||||
|
||||
*mtx = default_mtx;
|
||||
}
|
||||
|
||||
int
|
||||
__thr_umutex_lock(struct umutex *mtx, uint32_t id)
|
||||
__thr_umutex_lock(struct umutex *mtx)
|
||||
{
|
||||
if (_umtx_op(mtx, UMTX_OP_MUTEX_LOCK, 0, 0, 0) == 0)
|
||||
return 0;
|
||||
|
|
@ -39,7 +47,7 @@ __thr_umutex_lock(struct umutex *mtx, uint32_t id)
|
|||
}
|
||||
|
||||
int
|
||||
__thr_umutex_timedlock(struct umutex *mtx, uint32_t id,
|
||||
__thr_umutex_timedlock(struct umutex *mtx,
|
||||
const struct timespec *timeout)
|
||||
{
|
||||
if (timeout && (timeout->tv_sec < 0 || (timeout->tv_sec == 0 &&
|
||||
|
|
@ -52,7 +60,7 @@ __thr_umutex_timedlock(struct umutex *mtx, uint32_t id,
|
|||
}
|
||||
|
||||
int
|
||||
__thr_umutex_unlock(struct umutex *mtx, uint32_t id)
|
||||
__thr_umutex_unlock(struct umutex *mtx)
|
||||
{
|
||||
if (_umtx_op(mtx, UMTX_OP_MUTEX_UNLOCK, 0, 0, 0) == 0)
|
||||
return (0);
|
||||
|
|
@ -60,7 +68,7 @@ __thr_umutex_unlock(struct umutex *mtx, uint32_t id)
|
|||
}
|
||||
|
||||
int
|
||||
__thr_umutex_kern_trylock(struct umutex *mtx)
|
||||
__thr_umutex_trylock(struct umutex *mtx)
|
||||
{
|
||||
if (_umtx_op(mtx, UMTX_OP_MUTEX_TRYLOCK, 0, 0, 0) == 0)
|
||||
return (0);
|
||||
|
|
@ -82,7 +90,7 @@ _thr_umtx_wait(volatile umtx_t *mtx, long id, const struct timespec *timeout)
|
|||
if (timeout && (timeout->tv_sec < 0 || (timeout->tv_sec == 0 &&
|
||||
timeout->tv_nsec <= 0)))
|
||||
return (ETIMEDOUT);
|
||||
if (_umtx_op(__DEVOLATILE(struct umtx *, mtx), UMTX_OP_WAIT, id, 0,
|
||||
if (_umtx_op(__DEVOLATILE(void *, mtx), UMTX_OP_WAIT, id, 0,
|
||||
__DECONST(void*, timeout)) == 0)
|
||||
return (0);
|
||||
return (errno);
|
||||
|
|
@ -91,7 +99,7 @@ _thr_umtx_wait(volatile umtx_t *mtx, long id, const struct timespec *timeout)
|
|||
int
|
||||
_thr_umtx_wake(volatile umtx_t *mtx, int nr_wakeup)
|
||||
{
|
||||
if (_umtx_op(__DEVOLATILE(struct umtx *, mtx), UMTX_OP_WAKE,
|
||||
if (_umtx_op(__DEVOLATILE(void *, mtx), UMTX_OP_WAKE,
|
||||
nr_wakeup, 0, 0) == 0)
|
||||
return (0);
|
||||
return (errno);
|
||||
|
|
|
|||
|
|
@ -36,25 +36,19 @@
|
|||
|
||||
typedef long umtx_t;
|
||||
|
||||
int __thr_umutex_lock(struct umutex *mtx, uint32_t id) __hidden;
|
||||
int __thr_umutex_timedlock(struct umutex *mtx, uint32_t id,
|
||||
int __thr_umutex_lock(struct umutex *mtx) __hidden;
|
||||
int __thr_umutex_timedlock(struct umutex *mtx,
|
||||
const struct timespec *timeout) __hidden;
|
||||
int __thr_umutex_unlock(struct umutex *mtx, uint32_t id) __hidden;
|
||||
int __thr_umutex_kern_trylock(struct umutex *mtx) __hidden;
|
||||
int __thr_umutex_unlock(struct umutex *mtx) __hidden;
|
||||
int __thr_umutex_trylock(struct umutex *mtx) __hidden;
|
||||
int __thr_umutex_set_ceiling(struct umutex *mtx, uint32_t ceiling,
|
||||
uint32_t *oldceiling) __hidden;
|
||||
|
||||
void _thr_umutex_init(struct umutex *mtx) __hidden;
|
||||
int _thr_umtx_wait(volatile umtx_t *mtx, umtx_t exp,
|
||||
const struct timespec *timeout) __hidden;
|
||||
int _thr_umtx_wake(volatile umtx_t *mtx, int count) __hidden;
|
||||
|
||||
static inline void
|
||||
_thr_umutex_init(struct umutex *mtx)
|
||||
{
|
||||
struct umutex tmp = DEFAULT_UMUTEX;
|
||||
*mtx = tmp;
|
||||
}
|
||||
|
||||
static inline int
|
||||
_thr_umutex_trylock(struct umutex *mtx, uint32_t id)
|
||||
{
|
||||
|
|
@ -62,7 +56,7 @@ _thr_umutex_trylock(struct umutex *mtx, uint32_t id)
|
|||
return (0);
|
||||
if ((mtx->m_flags & UMUTEX_PRIO_PROTECT) == 0)
|
||||
return (EBUSY);
|
||||
return (__thr_umutex_kern_trylock(mtx));
|
||||
return (__thr_umutex_trylock(mtx));
|
||||
}
|
||||
|
||||
static inline int
|
||||
|
|
@ -70,7 +64,7 @@ _thr_umutex_lock(struct umutex *mtx, uint32_t id)
|
|||
{
|
||||
if (atomic_cmpset_acq_32(&mtx->m_owner, UMUTEX_UNOWNED, id))
|
||||
return (0);
|
||||
return (__thr_umutex_lock(mtx, id));
|
||||
return (__thr_umutex_lock(mtx));
|
||||
}
|
||||
|
||||
static inline int
|
||||
|
|
@ -79,7 +73,7 @@ _thr_umutex_timedlock(struct umutex *mtx, uint32_t id,
|
|||
{
|
||||
if (atomic_cmpset_acq_32(&mtx->m_owner, UMUTEX_UNOWNED, id))
|
||||
return (0);
|
||||
return (__thr_umutex_timedlock(mtx, id, timeout));
|
||||
return (__thr_umutex_timedlock(mtx, timeout));
|
||||
}
|
||||
|
||||
static inline int
|
||||
|
|
@ -87,7 +81,7 @@ _thr_umutex_unlock(struct umutex *mtx, uint32_t id)
|
|||
{
|
||||
if (atomic_cmpset_rel_32(&mtx->m_owner, id, UMUTEX_UNOWNED))
|
||||
return (0);
|
||||
return (__thr_umutex_unlock(mtx, id));
|
||||
return (__thr_umutex_unlock(mtx));
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in a new issue