TS_WRITER_Q
q == TS_READER_Q ? "R" : q == TS_WRITER_Q ? "W" : "?"); \
(void) turnstile_block(ts, TS_WRITER_Q, lp,
turnstile_wakeup(ts, TS_WRITER_Q, ts->ts_waiters, NULL);
(void) turnstile_block(ts, TS_WRITER_Q, lp,
kthread_t *next_writer = ts->ts_sleepq[TS_WRITER_Q].sq_first;
next_writer = ts->ts_sleepq[TS_WRITER_Q].sq_first;
turnstile_wakeup(ts, TS_WRITER_Q, 1, next_writer);
kthread_t *wp = ts->ts_sleepq[TS_WRITER_Q].sq_first;
newowner = ts->ts_sleepq[TS_WRITER_Q].sq_first;
turnstile_wakeup(ts, TS_WRITER_Q, 1, newowner);
turnstile_wakeup(ts, TS_WRITER_Q, ts->ts_waiters, NULL);
error = turnstile_block(ts, TS_WRITER_Q, (upimutex_t *)upimutex,