turnstile_wakeup
turnstile_wakeup(ts, TS_WRITER_Q, ts->ts_waiters, NULL);
turnstile_wakeup(ts, TS_READER_Q, nreaders, NULL);
turnstile_wakeup(ts, TS_WRITER_Q, 1, next_writer);
turnstile_wakeup(ts, TS_READER_Q, nreaders, NULL);
extern void turnstile_wakeup(turnstile_t *, int, int, struct _kthread *);
turnstile_wakeup(ts, TS_WRITER_Q, 1, newowner);
turnstile_wakeup(ts, TS_WRITER_Q, ts->ts_waiters, NULL);