TOK_EXCLREQ
KASSERT(((mode & TOK_EXCLREQ) == 0 || /* non blocking */
if ((count & ~TOK_EXCLREQ) == 0) {
(count & ~TOK_EXCLREQ) |
} else if ((mode & TOK_EXCLREQ) &&
(count & TOK_EXCLREQ) == 0) {
atomic_set_long(&tok->t_count, TOK_EXCLREQ);
if (_lwkt_trytokref(ref, td, mode & ~TOK_EXCLREQ))
_lwkt_tokref_init(ref, tok, td, TOK_EXCLUSIVE|TOK_EXCLREQ);
if (_lwkt_trytokref_spin(ref, td, TOK_EXCLUSIVE|TOK_EXCLREQ))
_lwkt_tokref_init(ref, tok, td, TOK_EXCLREQ);
if (_lwkt_trytokref_spin(ref, td, TOK_EXCLREQ))
_lwkt_tokref_init(ref, tok, td, TOK_EXCLUSIVE|TOK_EXCLREQ);
#define TOK_COUNTMASK (~(long)(TOK_EXCLUSIVE|TOK_EXCLREQ))
(count & ~(TOK_EXCLUSIVE|TOK_EXCLREQ))) {