WSEVENT_QSIZE
queue = mallocarray(WSEVENT_QSIZE, sizeof(struct wscons_event),
WSEVENT_QSIZE * sizeof(struct wscons_event));
free(ev->ws_q, M_DEVBUF, WSEVENT_QSIZE * sizeof(struct wscons_event));
cnt = WSEVENT_QSIZE - ev->ws_get; /* events in [get..QSIZE) */
ev->ws_get = (get + cnt) % WSEVENT_QSIZE;
kn->kn_data = (WSEVENT_QSIZE - ev->ws_get) + ev->ws_put;
if (++evar->ws_put >= WSEVENT_QSIZE)
put = (put + 1) % WSEVENT_QSIZE;
n %= WSEVENT_QSIZE;
if (++evar->ws_put >= WSEVENT_QSIZE)
if (space != 1 && space != 1 - WSEVENT_QSIZE) {
evq->put %= WSEVENT_QSIZE;
if (++put % WSEVENT_QSIZE == get) {
if (put >= WSEVENT_QSIZE)