syncobj
const struct syncobj *sobj = NULL;
db_syncobj_owner(const struct syncobj *sobj, wchan_t wchan)
struct syncobj;
struct lwp *db_syncobj_owner(const struct syncobj *, wchan_t);
ktr_csw(int out, int user, const struct syncobj *syncobj)
if (syncobj == &mutex_syncobj || syncobj == &rw_syncobj)
sleepq_block(int timo, bool catch_p, syncobj_t *syncobj, int nlocks)
ktrcsw(1, 0, syncobj);
ktrcsw(0, 0, syncobj);
sleepq_block(int timo, bool catch, syncobj_t *syncobj __unused, int nlocks)
struct syncobj;
void ktr_csw(int, int, const struct syncobj *);
ktrcsw(int a, int b, const struct syncobj *c)
const struct syncobj *l_syncobj;/* l: sync object operations set */
struct syncobj;
const struct syncobj *, bool);
const struct syncobj *, kmutex_t *, bool);
int sleepq_block(int, bool, const struct syncobj *, int);
void turnstile_block(turnstile_t *, int, wchan_t, const struct syncobj *);
struct syncobj;