NetBSDとFreeBSDのmutex実装の違い(2)
初期化以外はあまり違いが無いっぽい。
FreeBSDでのmutexの開放:
void mtx_destroy(struct mtx *mutex);
NetBSDでのmutexの開放:
void
mutex_destroy(kmutex_t *mtx);
FreeBSDでのmutexロック・アンロック:
void mtx_lock(struct mtx *mutex); void mtx_unlock(struct mtx *mutex);
NetBSDでのmutexロック・アンロック:
void mutex_enter(kmutex_t *mtx); void mutex_exit(kmutex_t *mtx);
FreeBSDでのスピンロック・アンロック:
void mtx_lock_spin(struct mtx *mutex); void mtx_unlock_spin(struct mtx *mutex);
NetBSDでのスピンロック・アンロック:
void mutex_spin_enter(kmutex_t *mtx); void mutex_spin_exit(kmutex_t *mtx);
FreeBSDでの非ブロックロック:
int mtx_trylock(struct mtx *mutex);
NetBSDでの非ブロックロック:
int
mutex_tryenter(kmutex_t *mtx);
FreeBSDでのmutex所有確認:
int mtx_owned(struct mtx *mutex);
NetBSDでのmutex所有確認:
int
mutex_owned(kmutex_t *mtx);